Username: Password:

Author Topic: ALICE SMS da cellulare con proxy installato su pc.  (Read 8299 times)

Daniele8787

  • Newbie
  • *
  • Posts: 32
  • http://gojack.altervista.org
    • View Profile
ALICE SMS da cellulare con proxy installato su pc.
« on: December 14, 2011, 11:12:56 pm »
Salve. Ho scritto un php che permette di inviare gli sms di alice dal cellulare con gotext, ovunque voi siate.  E' necessario che un pc sulla propria linea, sia acceso e con un proxy aperto sulla porta 80. L'ho fatto per me, ma ho pensato che sia utile condividerlo, e che potrebbe essere utile a qualcun'altro. In questo modo si possono utilizzare i PROPRI sms ovunque ci si trovi. La guida dettagliata è nel file php stesso. Non me lo fa allegare, e dice che la cartella è piena, per cui lo incollo, e ciascuno se lo può salvare in un file Rossoalice.php copiandoci dentro l'intero contenuto. Ciao :)

Code: [Select]
<?php 
/* 
* -Rossoalice v. 1.00 Descrizione  ------ 
*
*   Permette di inviare gli sms di Alice ovunque voi siate, dal proprio cellulare mediante il software java GoText 
*   compatibile con quasi tutti i cellulari! Per poter effettuare l'invio è necessario che un pc
*   collegato alla vostra linea adsl alice sia acceso e con un qualunque piccolo proxy server http avviato
*   e in ascolto sulla porta 80 (questo perchè molti webserver bloccano la connessione a proxy con porta 
*   diversa dalla 80. Se il vostro non le blocca, potete sceglierne una qualsiasi.
*   E' necessaria la connessione a proxy in quanto Alice ha vietato l'invio di sms da linee 
*   diverse dalla propria.
*
*                                       
* -ISTRUZIONI GENERALI PER SCRIPT GOTEXT (saltate se le conoscete già) --------- 
*   Inserite questo script nel vostro spazio web insieme ai files Browser.php e Utils.php librerie di gotext 
*   in una cartella "goText" creata nella stessa directory in cui avete inserito questo php 
*    (attenti alle maiuscole e minuscole nel nome della cartella).   
*     Ovvero:     /goText/Browser.php
*                 /goText/Utils.php
*                 /Rossoalice.php
*
* -CONFIGURAZIONE SCRIPT ROSSOALICE ----
*   Inserite nel vostro cellulare in Gotext per java (nella configurazione di un nuovo servizio)
*   l'indirizzo http del file Rossoalice.php caricato sul vostro web server.
*   Nel campo Nick inserite l'ip del proxy avviato sul vostro computer, cosi come spiegato nella descrizione
*   che vi arriverà sul cellulare, non appena aggiungerete il servizio (ricordate la porta 80, come detto sopra).
*   E' consigliabile, per non dover cambiare sempre l'ip che si modifica ad ogni connessione
*   del vostro computer, utilizzare ip statici (ad esempio registrandosi al sito no-ip. E' facilissimo!)
*   Esempi di configurazione proxy:

*                          78.96.112.26:80
*                 oppure   vostroindirizzo.dominio.com:80
*    
*   Se provate a non inserire nulla nel campo proxy (nick) vi comparirà l'errore "Devi essere connesso dalla tua linea..."
*
* -IN CASO DI ERRORI --------
*     In caso di errori, controllare che il proxy supporti le connessioni https sulla porta 443, e che la porta 80 
*     (o comunque quella scelta) sia aperta sul router adsl. Controllare inoltre che non ci sia una restrizione degli 
*     ip consentiti dal vostro proxy. E assicuratevi che il vostro webserver supporti le connessioni esterne.
       Controllare di aver scritto bene il nome della cartella goText con maiuscole e minuscole.
*     Se avete ancora problemi, inserite manualmente l'indirizzo del php nel vostro browser e controllate con quali errori risponde.
*          ---------------------------------------------------
*
* Script php realizzato da Daniele8787 (nick registrato in Gotext e Jacksms/Freesmee) in data 14/12/2011 .
*
*     Ringrazio egosum per la realizzazione del converter jxml2php che mi ha permesso di risparmiare tempo nel 
*     copiare le varie infinite poststring del servizio alice. Tutta la parte captcha invece non viene prodotta dal converter.
*     Ringrazio Zydio per la creazione delle classi Browser.php ed Utils.php.
*     Ringrazio inoltre il team di jacksms per la realizzazione dello script xml da cui ho prelevato i valori
*     richiesti dal sito di alice. 
*     Buon invio. :)
*
*
*    
*   version PHP for goText 
*   Jxml2php Copyright (C) 2011 egosum 
*   http://www.gotext.org 
*    
*    
*    
*/ 

session_start();
ob_start(); 
@
ini_set('error_reporting',1); 
@
ignore_user_abort(TRUE); 

$time time(); 
$response ""

include(
'goText/Browser.php'); 
include(
'goText/Utils.php'); 

//MAX CHARACTERS ALLOWED 
//total characters for name+text 
$size "146"

// COUNTRIES COVERED 
//supported country codes 
//Mould it on this service capability 
$validcc = array("1","20","210","211","212","213","214","215","216","217","218","219","220","221","222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238","239","240","241","242","243","244","245","246","247","248","249","250","251","252","253","254","255","256","257","258","259","260","261","262","263","264","265","266","267","268","269","27","290","291","297","298","299","30","31","32","33","34","350","351","352","353","354","355","356","357","358","359","36","370","371","372","373","374","375","376","377","378","380","381","382","385","386","387","389","","40","41","420","421","423","43","44","45","46","47","48","49","500","501","502","503","504","505","506","507","508","509","51","52","53","54","55","56","57","58","590","591","592","593","594","595","596","597","598","599","60","61","62","63","64","65","66","672","673","674","675","676","677","678","679","680","681","682","683","684","685","686","687","688","689","690","691","692","7","81","82","84","850","852","853","855","856","86","880","886","90","91","92","93","94","95","960","961","962","963","964","965","966","967","968","970","971","972","973","974","975","976","977","98","992","993","994","995","996","998");
//default cc 
$defcc ""

//dialog function 
function send_html_response($stringa){ 
  echo(
"<res>$stringa</res>"); 
  
$size ob_get_length(); 
  
header("Content-Length: $size"); 
  
ob_end_flush(); 
  die(); 




/******************************************/ 
/*         DYNAMIC CONFIGURATION          */ 
/******************************************/ 

// POST VARS 
$to $_REQUEST['rcpt']; 
$body stripslashes($_REQUEST['text']); 
$config $_REQUEST['action']; 
$lang $_REQUEST['lang']; 
$username $_REQUEST['user'];
$password $_REQUEST['pass'];
$nick $_REQUEST['nick'];

//Receipt type (1: number, 2: email, 3: both)
$in 1;
$ic $_REQUEST['ic'];


// CONFIG 
if (isset($config)) {
  
$config_string "<config><t>Array\nNick (PROXY): inserisci l'indirizzo del PROXY installato sul tuo pc\nUsername: Username di accesso a www.alice.it. Se la tua email e' mario.rossi@alice.it, inserisci mario.rossi\nPassword: Inserisci la password di accesso di www.alice.it\n</t>";
  
$config_string .= "<nu>1</nu><np>1</np><nn>2</nn><mr>1</mr><mc>$size</mc><mm>10</mm><in>$in</in>";
  
// See below on $BODY CHECK for explanation
  
$config_string .= "<xc>°</xc><sc> </sc><cm>€</cm><cf>4</cf></config>";
  
//$config_string .= "<xc>§|°</xc><sc> | |euro</sc><cm>à|è|é|ì|ò|ù|È|É|€</cm><cf>2|2|2|2|2|2|2|2|4</cf></config>";
  
send_html_response($config_string);


/******************************************/ 
/*      END OF DYNAMIC CONFIGURATION      */ 
/******************************************/ 


/******************************************/ 
/*            VARIABLES CHECK             */ 
/******************************************/ 

// GoText Browser 
$browser = new goText_Browser(TRUETRUE);

// User-Agent 
$ua "Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3"
$browser->setUserAgent($ua); 



if (!isset(
$ic)) {

$browser->setBrowserProxy($nick,'','','');

// $BODY CHECK 
if (!strlen(trim($body))) { 
  
send_html_response("<num>1</num><txt>Mancano dati fondamentali: messaggio</txt>"); 
} else if (
strlen($body) > $size) { 
  
send_html_response("<num>1</num><txt>Messaggio troppo lungo</txt>"); 


// Here you can configure the server side char substitution 
// Remember to set <cm></cm> and <cf></cf> properly! 
// Common cases follow: 
/* 
$body = str_replace("à","a'",$body); 
$body = str_replace("è","e'",$body); 
$body = str_replace("é","e'",$body); 
$body = str_replace("ì","i'",$body); 
$body = str_replace("ò","o'",$body); 
$body = str_replace("ù","u'",$body); 
$body = str_replace("È","E'",$body); 
$body = str_replace("É","E'",$body); 
$body = str_replace("§","",$body); 
*/ 
$body str_replace("°","",$body); 
$body str_replace("€","euro",$body); 


/******************************************/ 
/*         END OF VARIABLES CHECK         */ 
/******************************************/ 


/******************************************/ 
/*           SENDING DIRECTIVES           */ 
/******************************************/ 



// ********************************* WEBSITE CONNECTION (1) *********************************
// ******************************************************************************************


$address 'https://authsrs.alice.it/aap/validatecredential';

$poststring 'usernameDisplay'."=".urlencode($username)."&".
             
'password'."=".urlencode($password)."&".
             
'dominio'."=".'@alice.it'."&".
             
'imageField.x'."=".'27'."&".
             
'imageField.y'."=".'1'."&".
             
'twoweeks'."=".'false'."&".
             
'login'."=".urlencode($username).'@alice.it'."&".
             
'pwd'."=".urlencode($password)."&".
             
'channel'."=".'mail_alice'."&".
             
'URL_OK'."=".'https://authsrs.alice.it/aap/aap_redir.jsp?entry=mail_alice'."&".
             
'URL_KO'."=".'https://authsrs.alice.it/aap/aap_redir_ko.jsp?entry=mail_alice'."&".
             
'servizio'."=".'mail'."&".
             
'msisdn'."=".urlencode($username)."&".
             
'username'."=".urlencode($username).'@alice.it'."&".
             
'user'."=".urlencode($username).'@alice.it'."&".
             
'a3afep'."=".'http://portale.rossoalice.alice.it/ps/ManageCodError.do?code=470&channel=mail_alice'."&".
             
'DOMAIN'."=".''."&".
             
'PASS'."=".urlencode($password)."&".
             
'self'."=".'true'."&".
             
'a3si'."=".'none'."&".
             
'a3st'."=".'VCOMM'."&".
             
'totop'."=".'true'."&".
             
'nototopa3ep'."=".'true'."&".
             
'a3aid'."=".'lames'."&".
             
'a3flag'."=".'0'."&".
             
'a3ep'."=".'http://communicator.alice.it/asp/login.asp'."&".
             
'a3se'."=".'http://portale.rossoalice.alice.it/ps/ManageCodError.do?code=470&channel=mail_alice'."&".
             
'a3dcep'."=".'http://communicator.alice.it/asp/homepage.asp?s=005'."&".
             
'a3l'."=".urlencode($username).'@alice.it'."&".
             
'a3p'."=".urlencode($password);

if ((
$page $browser->browsePostUrl($address,$poststring)) === FALSE) {
  
send_html_response("<num>3</num><txt>".$msg['error_website'].parse_url($addressPHP_URL_HOST)."</txt>");
}

if (
strpos($page"ManageCodError.do?code=470&channel=mail_alice") !== false) {
  
send_html_response("<num>1</num><txt>Username o password non validi</txt>");
}

// ********************************* WEBSITE CONNECTION (2) *********************************
// ******************************************************************************************

$address 'http://alicemail.rossoalice.alice.it/cp/ps/Main/login/SSOLogin';

if ((
$page $browser->browseGetUrl($address)) === FALSE) {
  
send_html_response("<num>3</num><txt>".$msg['error_website'].parse_url($addressPHP_URL_HOST)."</txt>");
}
$_code goText_Utils::str_extract($page'yes&rnd=''"');



// ********************************* WEBSITE CONNECTION (3) *********************************
// ******************************************************************************************

$address 'http://alicemail.rossoalice.alice.it/cp/ps/Main/login/PreLogin?u='.urlencode($username).'&d=alice.it&rnd='.urlencode($_code);

if ((
$page $browser->browseGetUrl($address)) === FALSE) {
  
send_html_response("<num>3</num><txt>".$msg['error_website'].parse_url($addressPHP_URL_HOST)."</txt>");
}
$_code2 goText_Utils::str_extract($page'&t=''&');



// ********************************* WEBSITE CONNECTION (4) *********************************
// ******************************************************************************************

$address 'http://alicemail.rossoalice.alice.it/cp/ps/main/mobile/SLSmsComposeInfo?d=alice.it&u='.urlencode($username).'&t='.urlencode($_code2).'&l=it';

$poststring 'dummyextrapars'."=".'dummyextrapars';

if ((
$page $browser->browsePostUrl($address,$poststring)) === FALSE) {
  
send_html_response("<num>3</num><txt>".$msg['error_website'].parse_url($addressPHP_URL_HOST)."</txt>");
}
$_inviati goText_Utils::str_extract($page"\"smsfreesent\": \"""\"");


if (
strpos($page"smsfreesent\": \"10\"") !== false) {
  
send_html_response("<num>1</num><txt>SMS Free finiti per oggi, riprova domani</txt>");
}

$_residui 10 $_inviati 1;


// ********************************* WEBSITE CONNECTION (5) *********************************
// ******************************************************************************************

$address 'http://alicemail.rossoalice.alice.it/cp/ps/main/mobile/SLSmsCheckAmount?d=alice.it&u='.urlencode($username).'&t='.urlencode($_code2).'&l=it';

$poststring 'draft_uid'."=".''."&".
             
'lists_uid'."=".''."&".
             
'sms_req_notify'."=".'N'."&".
             
'sms_deffered_date'."=".''."&".
             
'sms_from'."=".''."&".
             
'sms_to_recipients'."=".urlencode($to)."&".
             
'sms_label4'."=".''."&".
             
'mobiletext'."=".urlencode(utf8_encode($body))."&".
             
'mobileTextCounter'."=".''."&".
             
'radioChooseTimeSend'."=".''."&".
             
'mobileDefferedDate'."=".''."&".
             
'mobileDefferedTime'."=".'';

if ((
$page $browser->browsePostUrl($address,$poststring)) === FALSE) {
  
send_html_response("<num>3</num><txt>".$msg['error_website'].parse_url($addressPHP_URL_HOST)."</txt>");
}


// ********************************* WEBSITE CONNECTION (6) *********************************
// ******************************************************************************************

$address 'http://alicemail.rossoalice.alice.it/cp/ps/main/mobile/SendKaptchaFrag?d=alice.it&u='.urlencode($username).'&t='.urlencode($_code2).'&l=it';

$poststring 'smsrecipients'."=".urlencode($to)."&".
             
'smstext'."=".urlencode(utf8_encode($body))."&".
             
'forceIdAdv'."=".'advSendMail';

if ((
$page $browser->browsePostUrl($address,$poststring)) === FALSE) {
  
send_html_response("<num>3</num><txt>".$msg['error_website'].parse_url($addressPHP_URL_HOST)."</txt>");
}


// ********************************* WEBSITE CONNECTION (7) *********************************
// ******************************************************************************************

$address 'http://alicemail.rossoalice.alice.it/cp/ps/main/kaptcha.jpg?d=alice.it&u='.urlencode($username).'&t='.urlencode($_code2).'&l=it&rnd=51';


$browser->saveCookies();
$browser->saveReferer();
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
$_SESSION['to'] = $to;
$_SESSION['body'] = $body;
$_SESSION['_code'] = $_code;
$_SESSION['_code2'] = $_code2;
$_SESSION['_residui'] = $_residui;
$_SESSION['nick'] = $nick


if ((
$page $browser->browseGetUrl($address)) === FALSE) {
$reply="<num>3</num><txt>Errore durante il caricamento del captcha</txt>";
send_html_response($reply);
}
$origine imagecreatefromstring($page);
      
$destinazione $origine;                      

    
imagecopyresampled($destinazione$origine00$firstXpixel$firstYpixel$new_width$new_height$new_width$new_height);
    
imagetruecolortopalette($destinazionefalse2);
    
imagepng($destinazione);
    
$page_dim=ob_get_length();
    
header("Content-type: image/png");
    
header("Cookie: PHPSESSID=".session_id());
    
header("Content-Length: $page_dim");

  

    
ob_end_flush(); 
    die();



// FINE PRIMA ISTANZA



$username $_SESSION['username'];
$password $_SESSION['password'];
$to $_SESSION['to'];
$body $_SESSION['body'];
$_code $_SESSION['_code'];
$_code2 $_SESSION['_code2'];
$_residui $_SESSION['_residui'];
$nick $_SESSION['nick']; 
$browser->restoreCookies();
$browser->restoreReferer();
$browser->setBrowserProxy($nick,'','','');



// ********************************* WEBSITE CONNECTION (8) *********************************
// ******************************************************************************************

                        
$browser->setReferer('http://alicemail.rossoalice.alice.it/cp/ps/Main/login/PreLogin?u='.urlencode($username).'&d=alice.it&rnd='.urlencode($_code));

$address 'http://alicemail.rossoalice.alice.it/cp/ps/main/mobile/SendKaptcha?d=alice.it&u='.urlencode($username).'&t='.urlencode($_code2).'&l=it';

$poststring 'kaptcha'."=".urlencode($ic);


if ((
$page $browser->browsePostUrl($address,$poststring)) === FALSE) {
  
send_html_response("<num>3</num><txt>".$msg['error_website'].parse_url($addressPHP_URL_HOST)."</txt>");
}

if (
strpos($page"captchamatch: false") !== false) {
  
send_html_response("<num>1</num><txt>Captcha errato</txt>");
}

// ********************************* WEBSITE CONNECTION (9) *********************************
// ******************************************************************************************


$browser->setReferer('http://alicemail.rossoalice.alice.it/cp/ps/Main/login/PreLogin?u='.urlencode($username).'&d=alice.it&rnd='.urlencode($_code));
$address 'http://alicemail.rossoalice.alice.it/cp/ps/main/mobile/SLSmsSend?d=alice.it&u='.urlencode($username).'&t='.urlencode($_code2).'&l=it';

$poststring 'kaptcha'."=".urlencode($ic)."&".
             
'sms_to_recipients'."=".urlencode($to)."&".
             
'mobiletext'."=".urlencode(utf8_encode($body))."&".
             
'draft_uid'."=".''."&".
             
'sms_req_notify'."=".'N'."&".
             
'sms_deffered_date'."=".'';

if ((
$page $browser->browsePostUrl($address,$poststring)) === FALSE) {
  
send_html_response("<num>3</num><txt>".$msg['error_website'].parse_url($addressPHP_URL_HOST)."</txt>");
}

if (
strpos($page"Operazione ammessa solo se si e' connessi dalla propria linea ADSL") !== false) {
  
send_html_response("<num>1</num><txt>Hai impostato il proxy correttamente? Non risulti connesso dalla tua ADSL</txt>");
}
else if (
strpos($page"Il codice di sicurezza inserito non e' corretto") !== false) {
  
send_html_response("<num>1</num><txt>Codice di controllo sbagliato</txt>");
}

// ********************************* WEBSITE CONNECTION (10) *********************************
// ******************************************************************************************

$address 'http://alicemail.rossoalice.alice.it/cp/ps/main/mobile/SendSmsConfirmFrag?d=alice.it&u='.urlencode($username).'&t='.urlencode($_code2).'&l=it';

$poststring 'unverified'."=".''."&".
             
'forceIdAdv'."=".'advSendMail';

if ((
$page $browser->browsePostUrl($address,$poststring)) === FALSE) {
  
send_html_response("<num>3</num><txt>".$msg['error_website'].parse_url($addressPHP_URL_HOST)."</txt>");
}

if (
strpos($page"SMS inviato") !== false) {
  
$note .= "SMS Inviato! SMS residui: $_residui";
}
else 
send_html_response("<num>3</num><txt>Errore sconosciuto</txt>");


/******************************************/ 
/*       END OF SENDING DIRECTIVES        */ 
/******************************************/ 


$time time() - $time
$response .= "<num>0</num>"
//$response .= "<txt>".$note."\nTempo impiegato: $time secondi.</txt>"; 
$response .="<txt>".$note."</txt>"

send_html_response($response); 

?>
« Last Edit: December 14, 2011, 11:34:49 pm by Daniele8787 »

capoccia

  • Newbie
  • *
  • Posts: 5
    • View Profile
Re: ALICE SMS da cellulare con proxy installato su pc.
« Reply #1 on: January 02, 2012, 11:25:51 pm »
Grazie! Domani provo!