Pagina 213 di 339

Re: script multifunzionale per vedere le dirette televisive.

Inviato: domenica 7 luglio 2013, 20:25
da BlueEyes
@ sesamotto.
Proposta: potresti far "leggere" i due canali TF1 e M6 da ffplay, che è più potente di Vlc, come ha fatto qui zerocoll per Rai1.
Ciao

Re: script multifunzionale per vedere le dirette televisive.

Inviato: domenica 7 luglio 2013, 20:46
da sesamotto
BlueEyes [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419476#p4419476][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:@ sesamotto.
Proposta: potresti far "leggere" i due canali TF1 e M6 da ffplay, che è più potente di Vlc, come ha fatto qui zerocoll per Rai1.
Ciao
Allora...apro terminale, digito ffplay, spazio, e accanto ci copincollo

Codice: Seleziona tutto

    http://176.100.108.190:4000/udp/239.1.1.46:1234
Si apre lo schermo, tutto nero ma si sente l'audio perfettamente. Dove sbaglio?

P.S.

Non ci sono piu' aggiornamenti possibili per la7, cielo ecc?
E' caduto anche MTV e Spotitalia...maremma...

Re: script multifunzionale per vedere le dirette televisive.

Inviato: domenica 7 luglio 2013, 22:12
da sesamotto
Scusatemi se oggi faccio tante domande...
C'e' qualcuno che ha capito come usare l'ultimo script di Darby?

In particolare, credo di avere capito che si usi attivando Tor Vidalia...ma all'interno dello script leggo che devono essere inserite una username e una password...quali?
Grazie per eventuali risposte.

Lo script, che stasera non ne vuole saper di essere allegato, si chiama WatchTeleboy.php

Codice: Seleziona tutto

<?php
/*
 Filename: WatchTeleboy.php. Copyright 2013, Darby_Crash - kihol@inwind.it

   This Program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3, or (at your option)
   any later version.

   This Program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program. If not, see <http://www.gnu.org/licenses/>.

*/

$version = "1.0";

$username = "inserisci_il_tuo_username";
$password = "inserisci_la_tua_password";

error_reporting(0);

strncasecmp(php_uname('s'), "Win", 3) == 0 ? $windows = true : $windows = false;

if ($windows)
   {
   if (file_exists("C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe"))
       $vlc = "C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe";
   else
       $vlc = "C:\\Program Files\\VideoLAN\\VLC\\vlc.exe";
    }
  else
    {
      $vlc = "vlc";
      $out = "2>/dev/null";
    }

if (file_exists("cookies.txt")){unlink("cookies.txt");}

class cURL {
var $headers ;
var $user_agent ;
var $compression ;
var $cookie_file ;
var $proxy ;
function cURL ( $cookies = TRUE , $cookie = 'cookies.txt' , $compression = 'gzip' , $proxy = '127.0.0.1:9050' ) {
$this -> headers [] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg' ;
$this -> headers [] = 'Connection: Keep-Alive' ;
$this -> headers [] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8' ;
$this -> user_agent = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0' ;
$this -> compression = $compression ;
$this -> proxy = $proxy ;
$this -> cookies = $cookies ;
if ( $this -> cookies == TRUE ) $this -> cookie ( $cookie );
}
function cookie ( $cookie_file ) {
if ( file_exists ( $cookie_file )) {
$this -> cookie_file = $cookie_file ;
} else {
fopen ( $cookie_file , 'w' ) or $this -> error ( 'The cookie file could not be opened. Make sure this directory has the correct permissions' );
$this -> cookie_file = $cookie_file ;
fclose ( $this -> cookie_file );
}
}
function get ( $url ) {
$process = curl_init ( $url );
curl_setopt ( $process , CURLOPT_HTTPHEADER , $this -> headers );
curl_setopt ( $process , CURLOPT_HEADER , 1 );
curl_setopt ( $process , CURLOPT_USERAGENT , $this -> user_agent );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEFILE , $this -> cookie_file );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEJAR , $this -> cookie_file );
curl_setopt ( $process , CURLOPT_ENCODING , $this -> compression );
curl_setopt ( $process , CURLOPT_TIMEOUT , 30 );
if ( $this -> proxy ) curl_setopt ( $process , CURLOPT_PROXY , $this -> proxy );

curl_setopt ( $process , CURLOPT_PROXYTYPE , CURLPROXY_SOCKS4 );
curl_setopt ( $process , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt ( $process , CURLOPT_FOLLOWLOCATION , 0 );
$return = curl_exec ( $process );
curl_close ( $process );
return $return ;
}
function post ( $url , $data ) {
$process = curl_init ( $url );
curl_setopt ( $process , CURLOPT_HTTPHEADER , $this -> headers );
curl_setopt ( $process , CURLOPT_HEADER , 1 );
curl_setopt ( $process , CURLOPT_USERAGENT , $this -> user_agent );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEFILE , $this -> cookie_file );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEJAR , $this -> cookie_file );
curl_setopt ( $process , CURLOPT_ENCODING , $this -> compression );
curl_setopt ( $process , CURLOPT_TIMEOUT , 30 );
if ( $this -> proxy ) curl_setopt ( $process , CURLOPT_PROXY , $this -> proxy );

curl_setopt ( $process , CURLOPT_PROXYTYPE , CURLPROXY_SOCKS4 );
curl_setopt ( $process , CURLOPT_POSTFIELDS , $data );
curl_setopt ( $process , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt ( $process , CURLOPT_FOLLOWLOCATION , 0 );
curl_setopt ( $process , CURLOPT_POST , 1 );
$return = curl_exec ( $process );
curl_close ( $process );
return $return ;
}
}

// Login form

$cc = new cURL ();
$html = $cc->get("http://www.teleboy.ch/login?target=http%3A%2F%2Fwww.teleboy.ch%2F");
$html = $cc->post("http://www.teleboy.ch/layer/login_check", "login=".$username."&password=".$password."&x=14&y=7&keep_login=1");
$check = file_get_contents("cookies.txt");
if (preg_match("/cinergy_auth/", $check)){
unset($check);
} else {
echo "\r\n\r\n\r\nLogin failed! Check your account data!\r\n\r\n\r\n";
sleep(5);
die;
}

// Channels list

$html = $cc->get("http://www.teleboy.ch/programm/?program_date=live");
$html = preg_replace('/%FC/i', "ü", $html);
preg_match_all('/<tr class=\"playable blackListing\"><td class=\"station\"><a href=\"(.*?)\"/si', $html, $sids);
foreach ($sids[1] as &$sid) {
	$tmp = explode("/", $sid);
	$sid = $tmp[4].") ".$tmp[3];
}
unset($sid);

while (1 > 0) {

echo "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nChannels list:\r\n\r\n";

foreach ($sids[1] as $sid) {
	echo "$sid\r\n";
}

echo "\r\nChoose a channel or press x to exit: ";

$inp = fgets(STDIN);
$inp = str_replace(array("\n","\r"), "", $inp);

// Grab information

if (preg_match("/[a-zA-Z]/", $inp)) {
echo "Killed!";
unlink("cookies.txt");
die;
}

$html = $cc->get("http://www.teleboy.ch/tv/player/");
preg_match("/swfobject\.embedSWF\(\"(.*?)\"/si", $html, $swf);
$swf = "http://www.teleboy.ch".$swf[1];
preg_match('/var station2channels = {(.*?)};/si', $html, $map);
$map = preg_replace('/},/', "}\r\n", $map[1]);
$map = preg_replace('/"/', "", $map);
$pat = "/".$inp."\:\{(.*?)\}/s"; 
preg_match($pat, $map, $cids);
$cids = preg_replace("/\,/", "\r\n", $cids[1]);
$cids = explode(":", $cids);
$cid1 = $cids[1];
$cid2 = $cids[0];

// Grab parameters

$ccc = new cURL ();
$ccc->headers[] = "X-Requested-With: XMLHttpRequest";
$ccc->headers[] = "Referer: http://www.teleboy.ch/tv/player/?stationId=".$inp;
$html = $ccc->get("http://www.teleboy.ch/tv/player/ajax/liveChannelParams?cid=".$cid1."&cid2=".$cid2."&profile=high");
$params = explode('"', $html);
$params = $params[5];
$params = explode('|', $params);
$chname = $params[1];
$a = $params[2];
$c1 = $params[3];
$c2 = $params[4];
$c3 = $params[5];
$c4 = $params[6];
$c5 = $params[7];
$c6 = $params[8];
$ip = $params[9];
$x11 = $params[10];
$html = $cc->get("http://www.teleboy.ch/proxy/player/getserver.php?version=".$ip);
preg_match("/ip=(.+)/si", $html, $ok);
$ip = $ok[1];

echo "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nStart of $chname in progress...\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";

$cmd = 'rtmpdump -q -v -r "rtmp://'.$ip.'/'.$x11.'" -W "'.$swf.'" -S "127.0.0.1:9050" -C "S:'.$c1.'" -C "S:'.$c2.'" -C "S:'.$c3.'" -C "S:'.$c4.'" -C "S:'.$c5.'" -C "S:'.$c6.'" -p "http://www.teleboy.ch/tv/player/player.php?stationId='.$inp.'" -y "'.$c1.$c2.'.stream" | "'.$vlc.'" --meta-title="'.$chname.' Powered by Darby_Crash" - '.$out.'';

shell_exec($cmd);
}
?>

Re: script multifunzionale per vedere le dirette televisive.

Inviato: domenica 7 luglio 2013, 23:22
da BlueEyes
Gli standard che si aprono bene con ffplay e restano stabili sono quelli che hanno il formato m3u8 come questo:

Codice: Seleziona tutto

//Rai1
ffplay http://httpstream2.rai.it/Italy/rai1.isml/Manifest(format=m3u8-aapl)?auth=daEcAbhc6dMandgd8a7cubWbYaXbJd0cudi-brPzrz-c0-GkywzHv&aifp=V001
per cui dovresti vedere come procurarti quelli di TF1 ed M6 con tale format. Quelli attuali li ho provati, comunque, come hai fatto tu, ma sia audio che video sono risultati ... fratturati alla grande! Ciao

Re: script multifunzionale per vedere le dirette televisive.

Inviato: domenica 7 luglio 2013, 23:53
da Darby_Crash
sesamotto [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419529#p4419529][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Scusatemi se oggi faccio tante domande...
C'e' qualcuno che ha capito come usare l'ultimo script di Darby?

In particolare, credo di avere capito che si usi attivando Tor Vidalia...ma all'interno dello script leggo che devono essere inserite una username e una password...quali?
Grazie per eventuali risposte.

Lo script, che stasera non ne vuole saper di essere allegato, si chiama WatchTeleboy.php

Codice: Seleziona tutto

<?php
/*
 Filename: WatchTeleboy.php. Copyright 2013, Darby_Crash - kihol@inwind.it

   This Program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3, or (at your option)
   any later version.

   This Program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program. If not, see <http://www.gnu.org/licenses/>.

*/

$version = "1.0";

$username = "inserisci_il_tuo_username";
$password = "inserisci_la_tua_password";

error_reporting(0);

strncasecmp(php_uname('s'), "Win", 3) == 0 ? $windows = true : $windows = false;

if ($windows)
   {
   if (file_exists("C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe"))
       $vlc = "C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe";
   else
       $vlc = "C:\\Program Files\\VideoLAN\\VLC\\vlc.exe";
    }
  else
    {
      $vlc = "vlc";
      $out = "2>/dev/null";
    }

if (file_exists("cookies.txt")){unlink("cookies.txt");}

class cURL {
var $headers ;
var $user_agent ;
var $compression ;
var $cookie_file ;
var $proxy ;
function cURL ( $cookies = TRUE , $cookie = 'cookies.txt' , $compression = 'gzip' , $proxy = '127.0.0.1:9050' ) {
$this -> headers [] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg' ;
$this -> headers [] = 'Connection: Keep-Alive' ;
$this -> headers [] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8' ;
$this -> user_agent = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0' ;
$this -> compression = $compression ;
$this -> proxy = $proxy ;
$this -> cookies = $cookies ;
if ( $this -> cookies == TRUE ) $this -> cookie ( $cookie );
}
function cookie ( $cookie_file ) {
if ( file_exists ( $cookie_file )) {
$this -> cookie_file = $cookie_file ;
} else {
fopen ( $cookie_file , 'w' ) or $this -> error ( 'The cookie file could not be opened. Make sure this directory has the correct permissions' );
$this -> cookie_file = $cookie_file ;
fclose ( $this -> cookie_file );
}
}
function get ( $url ) {
$process = curl_init ( $url );
curl_setopt ( $process , CURLOPT_HTTPHEADER , $this -> headers );
curl_setopt ( $process , CURLOPT_HEADER , 1 );
curl_setopt ( $process , CURLOPT_USERAGENT , $this -> user_agent );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEFILE , $this -> cookie_file );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEJAR , $this -> cookie_file );
curl_setopt ( $process , CURLOPT_ENCODING , $this -> compression );
curl_setopt ( $process , CURLOPT_TIMEOUT , 30 );
if ( $this -> proxy ) curl_setopt ( $process , CURLOPT_PROXY , $this -> proxy );

curl_setopt ( $process , CURLOPT_PROXYTYPE , CURLPROXY_SOCKS4 );
curl_setopt ( $process , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt ( $process , CURLOPT_FOLLOWLOCATION , 0 );
$return = curl_exec ( $process );
curl_close ( $process );
return $return ;
}
function post ( $url , $data ) {
$process = curl_init ( $url );
curl_setopt ( $process , CURLOPT_HTTPHEADER , $this -> headers );
curl_setopt ( $process , CURLOPT_HEADER , 1 );
curl_setopt ( $process , CURLOPT_USERAGENT , $this -> user_agent );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEFILE , $this -> cookie_file );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEJAR , $this -> cookie_file );
curl_setopt ( $process , CURLOPT_ENCODING , $this -> compression );
curl_setopt ( $process , CURLOPT_TIMEOUT , 30 );
if ( $this -> proxy ) curl_setopt ( $process , CURLOPT_PROXY , $this -> proxy );

curl_setopt ( $process , CURLOPT_PROXYTYPE , CURLPROXY_SOCKS4 );
curl_setopt ( $process , CURLOPT_POSTFIELDS , $data );
curl_setopt ( $process , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt ( $process , CURLOPT_FOLLOWLOCATION , 0 );
curl_setopt ( $process , CURLOPT_POST , 1 );
$return = curl_exec ( $process );
curl_close ( $process );
return $return ;
}
}

// Login form

$cc = new cURL ();
$html = $cc->get("http://www.teleboy.ch/login?target=http%3A%2F%2Fwww.teleboy.ch%2F");
$html = $cc->post("http://www.teleboy.ch/layer/login_check", "login=".$username."&password=".$password."&x=14&y=7&keep_login=1");
$check = file_get_contents("cookies.txt");
if (preg_match("/cinergy_auth/", $check)){
unset($check);
} else {
echo "\r\n\r\n\r\nLogin failed! Check your account data!\r\n\r\n\r\n";
sleep(5);
die;
}

// Channels list

$html = $cc->get("http://www.teleboy.ch/programm/?program_date=live");
$html = preg_replace('/%FC/i', "ü", $html);
preg_match_all('/<tr class=\"playable blackListing\"><td class=\"station\"><a href=\"(.*?)\"/si', $html, $sids);
foreach ($sids[1] as &$sid) {
	$tmp = explode("/", $sid);
	$sid = $tmp[4].") ".$tmp[3];
}
unset($sid);

while (1 > 0) {

echo "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nChannels list:\r\n\r\n";

foreach ($sids[1] as $sid) {
	echo "$sid\r\n";
}

echo "\r\nChoose a channel or press x to exit: ";

$inp = fgets(STDIN);
$inp = str_replace(array("\n","\r"), "", $inp);

// Grab information

if (preg_match("/[a-zA-Z]/", $inp)) {
echo "Killed!";
unlink("cookies.txt");
die;
}

$html = $cc->get("http://www.teleboy.ch/tv/player/");
preg_match("/swfobject\.embedSWF\(\"(.*?)\"/si", $html, $swf);
$swf = "http://www.teleboy.ch".$swf[1];
preg_match('/var station2channels = {(.*?)};/si', $html, $map);
$map = preg_replace('/},/', "}\r\n", $map[1]);
$map = preg_replace('/"/', "", $map);
$pat = "/".$inp."\:\{(.*?)\}/s"; 
preg_match($pat, $map, $cids);
$cids = preg_replace("/\,/", "\r\n", $cids[1]);
$cids = explode(":", $cids);
$cid1 = $cids[1];
$cid2 = $cids[0];

// Grab parameters

$ccc = new cURL ();
$ccc->headers[] = "X-Requested-With: XMLHttpRequest";
$ccc->headers[] = "Referer: http://www.teleboy.ch/tv/player/?stationId=".$inp;
$html = $ccc->get("http://www.teleboy.ch/tv/player/ajax/liveChannelParams?cid=".$cid1."&cid2=".$cid2."&profile=high");
$params = explode('"', $html);
$params = $params[5];
$params = explode('|', $params);
$chname = $params[1];
$a = $params[2];
$c1 = $params[3];
$c2 = $params[4];
$c3 = $params[5];
$c4 = $params[6];
$c5 = $params[7];
$c6 = $params[8];
$ip = $params[9];
$x11 = $params[10];
$html = $cc->get("http://www.teleboy.ch/proxy/player/getserver.php?version=".$ip);
preg_match("/ip=(.+)/si", $html, $ok);
$ip = $ok[1];

echo "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nStart of $chname in progress...\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";

$cmd = 'rtmpdump -q -v -r "rtmp://'.$ip.'/'.$x11.'" -W "'.$swf.'" -S "127.0.0.1:9050" -C "S:'.$c1.'" -C "S:'.$c2.'" -C "S:'.$c3.'" -C "S:'.$c4.'" -C "S:'.$c5.'" -C "S:'.$c6.'" -p "http://www.teleboy.ch/tv/player/player.php?stationId='.$inp.'" -y "'.$c1.$c2.'.stream" | "'.$vlc.'" --meta-title="'.$chname.' Powered by Darby_Crash" - '.$out.'';

shell_exec($cmd);
}
?>
Devi usare Vidalia per sembrare svizzero e registrarti su http://www.teleboy.ch (l'account è gratuito). Poi vai su questa pagina e confermi i dati dopo l'avvenuta registrazione: http://www.teleboy.ch/tv/player/.

A giochi fatti, questi sono username e password che andrai a inserire nel file php.

Re: script multifunzionale per vedere le dirette televisive.

Inviato: lunedì 8 luglio 2013, 0:38
da herm
Vorrei innanzitutto ringraziare tutti voi, che state facendo un arduo e duro lavoro.
Dopo 200 e passa pagine di post un ringraziamento mi sembra dovuto... :ciao:

P.S. Ormai sono diventato dipendente dal listone di sesamotto.... :ciao:

Re: script multifunzionale per vedere le dirette televisive.

Inviato: lunedì 8 luglio 2013, 0:52
da sesamotto
Darby_Crash [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419569#p4419569][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
sesamotto [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419529#p4419529][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Scusatemi se oggi faccio tante domande...
C'e' qualcuno che ha capito come usare l'ultimo script di Darby?

In particolare, credo di avere capito che si usi attivando Tor Vidalia...ma all'interno dello script leggo che devono essere inserite una username e una password...quali?
Grazie per eventuali risposte.

Lo script, che stasera non ne vuole saper di essere allegato, si chiama WatchTeleboy.php

Codice: Seleziona tutto

<?php
/*
 Filename: WatchTeleboy.php. Copyright 2013, Darby_Crash - kihol@inwind.it

   This Program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3, or (at your option)
   any later version.

   This Program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program. If not, see <http://www.gnu.org/licenses/>.

*/

$version = "1.0";

$username = "inserisci_il_tuo_username";
$password = "inserisci_la_tua_password";

error_reporting(0);

strncasecmp(php_uname('s'), "Win", 3) == 0 ? $windows = true : $windows = false;

if ($windows)
   {
   if (file_exists("C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe"))
       $vlc = "C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe";
   else
       $vlc = "C:\\Program Files\\VideoLAN\\VLC\\vlc.exe";
    }
  else
    {
      $vlc = "vlc";
      $out = "2>/dev/null";
    }

if (file_exists("cookies.txt")){unlink("cookies.txt");}

class cURL {
var $headers ;
var $user_agent ;
var $compression ;
var $cookie_file ;
var $proxy ;
function cURL ( $cookies = TRUE , $cookie = 'cookies.txt' , $compression = 'gzip' , $proxy = '127.0.0.1:9050' ) {
$this -> headers [] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg' ;
$this -> headers [] = 'Connection: Keep-Alive' ;
$this -> headers [] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8' ;
$this -> user_agent = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0' ;
$this -> compression = $compression ;
$this -> proxy = $proxy ;
$this -> cookies = $cookies ;
if ( $this -> cookies == TRUE ) $this -> cookie ( $cookie );
}
function cookie ( $cookie_file ) {
if ( file_exists ( $cookie_file )) {
$this -> cookie_file = $cookie_file ;
} else {
fopen ( $cookie_file , 'w' ) or $this -> error ( 'The cookie file could not be opened. Make sure this directory has the correct permissions' );
$this -> cookie_file = $cookie_file ;
fclose ( $this -> cookie_file );
}
}
function get ( $url ) {
$process = curl_init ( $url );
curl_setopt ( $process , CURLOPT_HTTPHEADER , $this -> headers );
curl_setopt ( $process , CURLOPT_HEADER , 1 );
curl_setopt ( $process , CURLOPT_USERAGENT , $this -> user_agent );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEFILE , $this -> cookie_file );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEJAR , $this -> cookie_file );
curl_setopt ( $process , CURLOPT_ENCODING , $this -> compression );
curl_setopt ( $process , CURLOPT_TIMEOUT , 30 );
if ( $this -> proxy ) curl_setopt ( $process , CURLOPT_PROXY , $this -> proxy );

curl_setopt ( $process , CURLOPT_PROXYTYPE , CURLPROXY_SOCKS4 );
curl_setopt ( $process , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt ( $process , CURLOPT_FOLLOWLOCATION , 0 );
$return = curl_exec ( $process );
curl_close ( $process );
return $return ;
}
function post ( $url , $data ) {
$process = curl_init ( $url );
curl_setopt ( $process , CURLOPT_HTTPHEADER , $this -> headers );
curl_setopt ( $process , CURLOPT_HEADER , 1 );
curl_setopt ( $process , CURLOPT_USERAGENT , $this -> user_agent );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEFILE , $this -> cookie_file );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEJAR , $this -> cookie_file );
curl_setopt ( $process , CURLOPT_ENCODING , $this -> compression );
curl_setopt ( $process , CURLOPT_TIMEOUT , 30 );
if ( $this -> proxy ) curl_setopt ( $process , CURLOPT_PROXY , $this -> proxy );

curl_setopt ( $process , CURLOPT_PROXYTYPE , CURLPROXY_SOCKS4 );
curl_setopt ( $process , CURLOPT_POSTFIELDS , $data );
curl_setopt ( $process , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt ( $process , CURLOPT_FOLLOWLOCATION , 0 );
curl_setopt ( $process , CURLOPT_POST , 1 );
$return = curl_exec ( $process );
curl_close ( $process );
return $return ;
}
}

// Login form

$cc = new cURL ();
$html = $cc->get("http://www.teleboy.ch/login?target=http%3A%2F%2Fwww.teleboy.ch%2F");
$html = $cc->post("http://www.teleboy.ch/layer/login_check", "login=".$username."&password=".$password."&x=14&y=7&keep_login=1");
$check = file_get_contents("cookies.txt");
if (preg_match("/cinergy_auth/", $check)){
unset($check);
} else {
echo "\r\n\r\n\r\nLogin failed! Check your account data!\r\n\r\n\r\n";
sleep(5);
die;
}

// Channels list

$html = $cc->get("http://www.teleboy.ch/programm/?program_date=live");
$html = preg_replace('/%FC/i', "ü", $html);
preg_match_all('/<tr class=\"playable blackListing\"><td class=\"station\"><a href=\"(.*?)\"/si', $html, $sids);
foreach ($sids[1] as &$sid) {
	$tmp = explode("/", $sid);
	$sid = $tmp[4].") ".$tmp[3];
}
unset($sid);

while (1 > 0) {

echo "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nChannels list:\r\n\r\n";

foreach ($sids[1] as $sid) {
	echo "$sid\r\n";
}

echo "\r\nChoose a channel or press x to exit: ";

$inp = fgets(STDIN);
$inp = str_replace(array("\n","\r"), "", $inp);

// Grab information

if (preg_match("/[a-zA-Z]/", $inp)) {
echo "Killed!";
unlink("cookies.txt");
die;
}

$html = $cc->get("http://www.teleboy.ch/tv/player/");
preg_match("/swfobject\.embedSWF\(\"(.*?)\"/si", $html, $swf);
$swf = "http://www.teleboy.ch".$swf[1];
preg_match('/var station2channels = {(.*?)};/si', $html, $map);
$map = preg_replace('/},/', "}\r\n", $map[1]);
$map = preg_replace('/"/', "", $map);
$pat = "/".$inp."\:\{(.*?)\}/s"; 
preg_match($pat, $map, $cids);
$cids = preg_replace("/\,/", "\r\n", $cids[1]);
$cids = explode(":", $cids);
$cid1 = $cids[1];
$cid2 = $cids[0];

// Grab parameters

$ccc = new cURL ();
$ccc->headers[] = "X-Requested-With: XMLHttpRequest";
$ccc->headers[] = "Referer: http://www.teleboy.ch/tv/player/?stationId=".$inp;
$html = $ccc->get("http://www.teleboy.ch/tv/player/ajax/liveChannelParams?cid=".$cid1."&cid2=".$cid2."&profile=high");
$params = explode('"', $html);
$params = $params[5];
$params = explode('|', $params);
$chname = $params[1];
$a = $params[2];
$c1 = $params[3];
$c2 = $params[4];
$c3 = $params[5];
$c4 = $params[6];
$c5 = $params[7];
$c6 = $params[8];
$ip = $params[9];
$x11 = $params[10];
$html = $cc->get("http://www.teleboy.ch/proxy/player/getserver.php?version=".$ip);
preg_match("/ip=(.+)/si", $html, $ok);
$ip = $ok[1];

echo "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nStart of $chname in progress...\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";

$cmd = 'rtmpdump -q -v -r "rtmp://'.$ip.'/'.$x11.'" -W "'.$swf.'" -S "127.0.0.1:9050" -C "S:'.$c1.'" -C "S:'.$c2.'" -C "S:'.$c3.'" -C "S:'.$c4.'" -C "S:'.$c5.'" -C "S:'.$c6.'" -p "http://www.teleboy.ch/tv/player/player.php?stationId='.$inp.'" -y "'.$c1.$c2.'.stream" | "'.$vlc.'" --meta-title="'.$chname.' Powered by Darby_Crash" - '.$out.'';

shell_exec($cmd);
}
?>
Devi usare Vidalia per sembrare svizzero e registrarti su http://www.teleboy.ch (l'account è gratuito). Poi vai su questa pagina e confermi i dati dopo l'avvenuta registrazione: http://www.teleboy.ch/tv/player/.

A giochi fatti, questi sono username e password che andrai a inserire nel file php.
Darby...intanto grazie e' poco...
Se non ricordo male alcune pagine fa mi sembra vagamente di ricordare che bisogna fare delle "operazioni speciali" con Vidalia per sembrare un utente svizzero.
Se non e' chiederti troppo...basta che su Tor mi trovi un utente con bandierina svizzera o devo proprio mettere dei parametri che non saprei piu' dove trovare?
Vi seguo da un po' di tempo...ma con 200 e passa pagine mi riesce difficile ritrovare certe indicazioni...ci vorrebbe un tasto di ricerca degli argomenti che potessero essere ritrovati quasi subito.
THX.

Re: script multifunzionale per vedere le dirette televisive.

Inviato: lunedì 8 luglio 2013, 0:54
da sesamotto
BlueEyes [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419555#p4419555][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
Gli standard che si aprono bene con ffplay e restano stabili sono quelli che hanno il formato m3u8 come questo:

Codice: Seleziona tutto

//Rai1
ffplay http://httpstream2.rai.it/Italy/rai1.isml/Manifest(format=m3u8-aapl)?auth=daEcAbhc6dMandgd8a7cubWbYaXbJd0cudi-brPzrz-c0-GkywzHv&aifp=V001
per cui dovresti vedere come procurarti quelli di TF1 ed M6 con tale format. Quelli attuali li ho provati, comunque, come hai fatto tu, ma sia audio che video sono risultati ... fratturati alla grande! Ciao
Urka...:) Mamma mia... vedro' come fare...
Ciao Blue.

Re: script multifunzionale per vedere le dirette televisive.

Inviato: lunedì 8 luglio 2013, 1:30
da herm
Dopo il doveroso ringraziamento volevo segnalare che con api non funziona con il sito della rai, precisamente con la puntata scorsa di superquark:
http://www.rai.tv/dl/replaytv/replaytv. ... 07-04&vc=1

Codice: Seleziona tutto

http://ad2.neodatagroup.com/uploads/js/sid49jq.js
http://js49.adagionet.com/uploads/js/sipra.js
    po.src = 'https://apis.google.com/js/plusone.js';
http://www.rai.it
http://www.rai.it/dl/rai/ricerca.html
http://www.facebook.com/pages/Raitv/88988179171
http://www.rai.tv
http://www.rai.tv/dl/RaiTV/programmi.html
			var replayUrl = 'http://www.rai.tv/dl/replaytv/replaytv.html#day='+dayRep+'&ch='+chanRep;
http://www.rai.it/dl/rai/ricerca.html
http://rai-italia01.wt-eu02.net/602039762736393/wt.pl?p=322,0
Che possiamo fare?

P.S. Inoltre volevo segnalare di quanto sia comoda, ma soprattutto ultraveloce l'opzione di VLC:Media>Converti/Salva che ci permette di registrare da un flusso rete, tutto ciò che andiamo a scovare con api....! Mentre se registriamo dai controlli avanzati di vlc, è lento e l'audio lo sfasa troppo. Abbiamo così anche il registratore tv :lol:

Re: script multifunzionale per vedere le dirette televisive.

Inviato: lunedì 8 luglio 2013, 11:30
da orwilsio
herm [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419586#p4419586][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Dopo il doveroso ringraziamento volevo segnalare che con api non funziona con il sito della rai, precisamente con la puntata scorsa di superquark:
http://www.rai.tv/dl/replaytv/replaytv. ... 07-04&vc=1
Che possiamo fare?
Prova questo:

Codice: Seleziona tutto

http://creativemedia3.rai.it/podcastcdn/raiuno/superquark/SUPERQUARK_PUNTATE/1673223_1500.mp4
:D

Re: script multifunzionale per vedere le dirette televisive.

Inviato: lunedì 8 luglio 2013, 12:00
da sesamotto
Darby_Crash [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419569#p4419569][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
sesamotto [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419529#p4419529][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Scusatemi se oggi faccio tante domande...
C'e' qualcuno che ha capito come usare l'ultimo script di Darby?

In particolare, credo di avere capito che si usi attivando Tor Vidalia...ma all'interno dello script leggo che devono essere inserite una username e una password...quali?
Grazie per eventuali risposte.

Lo script, che stasera non ne vuole saper di essere allegato, si chiama WatchTeleboy.php

Codice: Seleziona tutto

<?php
/*
 Filename: WatchTeleboy.php. Copyright 2013, Darby_Crash - kihol@inwind.it

   This Program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3, or (at your option)
   any later version.

   This Program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program. If not, see <http://www.gnu.org/licenses/>.

*/

$version = "1.0";

$username = "sesamotto";
$password = "xxxxxxxxxx";

error_reporting(0);

strncasecmp(php_uname('s'), "Win", 3) == 0 ? $windows = true : $windows = false;

if ($windows)
   {
   if (file_exists("C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe"))
       $vlc = "C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe";
   else
       $vlc = "C:\\Program Files\\VideoLAN\\VLC\\vlc.exe";
    }
  else
    {
      $vlc = "vlc";
      $out = "2>/dev/null";
    }

if (file_exists("cookies.txt")){unlink("cookies.txt");}

class cURL {
var $headers ;
var $user_agent ;
var $compression ;
var $cookie_file ;
var $proxy ;
function cURL ( $cookies = TRUE , $cookie = 'cookies.txt' , $compression = 'gzip' , $proxy = '127.0.0.1:9050' ) {
$this -> headers [] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg' ;
$this -> headers [] = 'Connection: Keep-Alive' ;
$this -> headers [] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8' ;
$this -> user_agent = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0' ;
$this -> compression = $compression ;
$this -> proxy = $proxy ;
$this -> cookies = $cookies ;
if ( $this -> cookies == TRUE ) $this -> cookie ( $cookie );
}
function cookie ( $cookie_file ) {
if ( file_exists ( $cookie_file )) {
$this -> cookie_file = $cookie_file ;
} else {
fopen ( $cookie_file , 'w' ) or $this -> error ( 'The cookie file could not be opened. Make sure this directory has the correct permissions' );
$this -> cookie_file = $cookie_file ;
fclose ( $this -> cookie_file );
}
}
function get ( $url ) {
$process = curl_init ( $url );
curl_setopt ( $process , CURLOPT_HTTPHEADER , $this -> headers );
curl_setopt ( $process , CURLOPT_HEADER , 1 );
curl_setopt ( $process , CURLOPT_USERAGENT , $this -> user_agent );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEFILE , $this -> cookie_file );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEJAR , $this -> cookie_file );
curl_setopt ( $process , CURLOPT_ENCODING , $this -> compression );
curl_setopt ( $process , CURLOPT_TIMEOUT , 30 );
if ( $this -> proxy ) curl_setopt ( $process , CURLOPT_PROXY , $this -> proxy );

curl_setopt ( $process , CURLOPT_PROXYTYPE , CURLPROXY_SOCKS4 );
curl_setopt ( $process , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt ( $process , CURLOPT_FOLLOWLOCATION , 0 );
$return = curl_exec ( $process );
curl_close ( $process );
return $return ;
}
function post ( $url , $data ) {
$process = curl_init ( $url );
curl_setopt ( $process , CURLOPT_HTTPHEADER , $this -> headers );
curl_setopt ( $process , CURLOPT_HEADER , 1 );
curl_setopt ( $process , CURLOPT_USERAGENT , $this -> user_agent );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEFILE , $this -> cookie_file );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEJAR , $this -> cookie_file );
curl_setopt ( $process , CURLOPT_ENCODING , $this -> compression );
curl_setopt ( $process , CURLOPT_TIMEOUT , 30 );
if ( $this -> proxy ) curl_setopt ( $process , CURLOPT_PROXY , $this -> proxy );

curl_setopt ( $process , CURLOPT_PROXYTYPE , CURLPROXY_SOCKS4 );
curl_setopt ( $process , CURLOPT_POSTFIELDS , $data );
curl_setopt ( $process , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt ( $process , CURLOPT_FOLLOWLOCATION , 0 );
curl_setopt ( $process , CURLOPT_POST , 1 );
$return = curl_exec ( $process );
curl_close ( $process );
return $return ;
}
}

// Login form

$cc = new cURL ();
$html = $cc->get("http://www.teleboy.ch/login?target=http%3A%2F%2Fwww.teleboy.ch%2F");
$html = $cc->post("http://www.teleboy.ch/layer/login_check", "login=".$username."&password=".$password."&x=14&y=7&keep_login=1");
$check = file_get_contents("cookies.txt");
if (preg_match("/cinergy_auth/", $check)){
unset($check);
} else {
echo "\r\n\r\n\r\nLogin failed! Check your account data!\r\n\r\n\r\n";
sleep(5);
die;
}

// Channels list

$html = $cc->get("http://www.teleboy.ch/programm/?program_date=live");
$html = preg_replace('/%FC/i', "ü", $html);
preg_match_all('/<tr class=\"playable blackListing\"><td class=\"station\"><a href=\"(.*?)\"/si', $html, $sids);
foreach ($sids[1] as &$sid) {
	$tmp = explode("/", $sid);
	$sid = $tmp[4].") ".$tmp[3];
}
unset($sid);

while (1 > 0) {

echo "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nChannels list:\r\n\r\n";

foreach ($sids[1] as $sid) {
	echo "$sid\r\n";
}

echo "\r\nChoose a channel or press x to exit: ";

$inp = fgets(STDIN);
$inp = str_replace(array("\n","\r"), "", $inp);

// Grab information

if (preg_match("/[a-zA-Z]/", $inp)) {
echo "Killed!";
unlink("cookies.txt");
die;
}

$html = $cc->get("http://www.teleboy.ch/tv/player/");
preg_match("/swfobject\.embedSWF\(\"(.*?)\"/si", $html, $swf);
$swf = "http://www.teleboy.ch".$swf[1];
preg_match('/var station2channels = {(.*?)};/si', $html, $map);
$map = preg_replace('/},/', "}\r\n", $map[1]);
$map = preg_replace('/"/', "", $map);
$pat = "/".$inp."\:\{(.*?)\}/s"; 
preg_match($pat, $map, $cids);
$cids = preg_replace("/\,/", "\r\n", $cids[1]);
$cids = explode(":", $cids);
$cid1 = $cids[1];
$cid2 = $cids[0];

// Grab parameters

$ccc = new cURL ();
$ccc->headers[] = "X-Requested-With: XMLHttpRequest";
$ccc->headers[] = "Referer: http://www.teleboy.ch/tv/player/?stationId=".$inp;
$html = $ccc->get("http://www.teleboy.ch/tv/player/ajax/liveChannelParams?cid=".$cid1."&cid2=".$cid2."&profile=high");
$params = explode('"', $html);
$params = $params[5];
$params = explode('|', $params);
$chname = $params[1];
$a = $params[2];
$c1 = $params[3];
$c2 = $params[4];
$c3 = $params[5];
$c4 = $params[6];
$c5 = $params[7];
$c6 = $params[8];
$ip = $params[9];
$x11 = $params[10];
$html = $cc->get("http://www.teleboy.ch/proxy/player/getserver.php?version=".$ip);
preg_match("/ip=(.+)/si", $html, $ok);
$ip = $ok[1];

echo "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nStart of $chname in progress...\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";

$cmd = 'rtmpdump -q -v -r "rtmp://'.$ip.'/'.$x11.'" -W "'.$swf.'" -S "127.0.0.1:9050" -C "S:'.$c1.'" -C "S:'.$c2.'" -C "S:'.$c3.'" -C "S:'.$c4.'" -C "S:'.$c5.'" -C "S:'.$c6.'" -p "http://www.teleboy.ch/tv/player/player.php?stationId='.$inp.'" -y "'.$c1.$c2.'.stream" | "'.$vlc.'" --meta-title="'.$chname.' Powered by Darby_Crash" - '.$out.'';

shell_exec($cmd);
}
?>
Devi usare Vidalia per sembrare svizzero e registrarti su http://www.teleboy.ch (l'account è gratuito). Poi vai su questa pagina e confermi i dati dopo l'avvenuta registrazione: http://www.teleboy.ch/tv/player/.

A giochi fatti, questi sono username e password che andrai a inserire nel file php.
Allora, sono riuscito a fare l'iscrizione al sito Teleboy, mi ha dato la password tramite la mail con cui mi sono registrato. Ho inserito nello script la username e la password fornitami cosi' come si vede nello script poco sopra, cioe' tra le virgolette. Ho reso eseguibile il file .php ma quando lo attivo compare per un attimo il terminale, vuoto, per poi richiudersi quasi subito. Sottolineo anche che non ha creato alcun txt file.

N.B.
Nel frattempo ho sempre usato Vidalia.

Re: script multifunzionale per vedere le dirette televisive.

Inviato: lunedì 8 luglio 2013, 12:10
da Darby_Crash
herm [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419586#p4419586][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Dopo il doveroso ringraziamento volevo segnalare che con api non funziona con il sito della rai, precisamente con la puntata scorsa di superquark:
http://www.rai.tv/dl/replaytv/replaytv. ... 07-04&vc=1

Codice: Seleziona tutto

http://ad2.neodatagroup.com/uploads/js/sid49jq.js
http://js49.adagionet.com/uploads/js/sipra.js
    po.src = 'https://apis.google.com/js/plusone.js';
http://www.rai.it
http://www.rai.it/dl/rai/ricerca.html
http://www.facebook.com/pages/Raitv/88988179171
http://www.rai.tv
http://www.rai.tv/dl/RaiTV/programmi.html
			var replayUrl = 'http://www.rai.tv/dl/replaytv/replaytv.html#day='+dayRep+'&ch='+chanRep;
http://www.rai.it/dl/rai/ricerca.html
http://rai-italia01.wt-eu02.net/602039762736393/wt.pl?p=322,0
Che possiamo fare?

P.S. Inoltre volevo segnalare di quanto sia comoda, ma soprattutto ultraveloce l'opzione di VLC:Media>Converti/Salva che ci permette di registrare da un flusso rete, tutto ciò che andiamo a scovare con api....! Mentre se registriamo dai controlli avanzati di vlc, è lento e l'audio lo sfasa troppo. Abbiamo così anche il registratore tv :lol:
Funziona invece, ma devi inserire l'url tra apici:

Codice: Seleziona tutto

php api.php "http://www.rai.tv/dl/replaytv/replaytv.html?refresh_ce#day=2013-07-04&ch=1&v=236330&vd=2013-07-04&vc=1"
L'history.txt restituisce:

Codice: Seleziona tutto

http://originsmoothreplay.rai.it/csm_nrp/raiuno/superquark/SUPERQUARK_PUNTATE/1673223.csm?auth=daEcAb0aPdFaRaTcVcqcEcyatcCa6bVaWcj-br2PmF-c0-GktusHo&aifp=V001
http://creativemedia4.rai.it/podcastcdn/raiuno/superquark/SUPERQUARK_PUNTATE/1673223_1500.mp4?auth=daEa7dCaSdjd7dTaQaqdIdocBdTbfd5cGcU-br2PmG-c0-JmzuvHw&aifp=V001
http://creativemedia3.rai.it/podcastcdn/raiuno/superquark/SUPERQUARK_PUNTATE/1673223_400.mp4?auth=daEbrbRckcTbocbdkcnasbqdkbVa_ccbXa3-br2PmS-c0-HkuwrGs&aifp=V001
http://creativemedia3.rai.it/podcastcdn/raiuno/superquark/SUPERQUARK_PUNTATE/1673223_600.mp4?auth=daEadaWcIaSbXbCcLb9dWabaDa4b4c4cIbQ-br2Pm5-c0-DjzwvEr&aifp=V001
http://creativemedia4.rai.it/podcastcdn/raiuno/superquark/SUPERQUARK_PUNTATE/1673223_800.mp4?auth=daEc0bLdWaycnbMbucnbya1bqb5a7bybzaM-br2Pm7-c0-CkyxzEr&aifp=V001
http://creativemedia3.rai.it/podcastcdn/raiuno/superquark/SUPERQUARK_PUNTATE/1673223_1200.mp4?auth=daEdEbtdVblaDa2b0a3bgcMcZdSb_dYdjcl-br2Pne-c0-AkAxyFo&aifp=V001
http://creativemedia3.rai.it/podcastcdn/raiuno/superquark/SUPERQUARK_PUNTATE/1673223_1500.mp4?auth=daEdZaIbRbedadUccczcwcLbJa.bYawbZaE-br2Png-c0-BjvvuFr&aifp=V001
http://creativemedia4.rai.it/podcastcdn/raiuno/superquark/SUPERQUARK_PUNTATE/1673223_1800.mp4?auth=daEaFcOd2bdd1dvbaaQaGbJbea3bGbybxbn-br2Pnj-c0-BlrxvFq&aifp=V001
http://rai-i.akamaihd.net/i/20130704/superquark-0407201321.15.00_REPLAY_,400,600,800,1200,1500,1800,.mp4.csmil/master.m3u8
http://rai-i.akamaihd.net/i/20130704/superquark-0407201321.15.00_REPLAY_,400,600,800,.mp4.csmil/master.m3u8
Per registrarlo, basta dare l'url MP4 in pasto a wget.

Re: script multifunzionale per vedere le dirette televisive.

Inviato: lunedì 8 luglio 2013, 12:13
da Darby_Crash
sesamotto [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419688#p4419688][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
Darby_Crash [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419569#p4419569][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
sesamotto [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419529#p4419529][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Scusatemi se oggi faccio tante domande...
C'e' qualcuno che ha capito come usare l'ultimo script di Darby?

In particolare, credo di avere capito che si usi attivando Tor Vidalia...ma all'interno dello script leggo che devono essere inserite una username e una password...quali?
Grazie per eventuali risposte.

Lo script, che stasera non ne vuole saper di essere allegato, si chiama WatchTeleboy.php

Codice: Seleziona tutto

<?php
/*
 Filename: WatchTeleboy.php. Copyright 2013, Darby_Crash - kihol@inwind.it

   This Program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3, or (at your option)
   any later version.

   This Program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program. If not, see <http://www.gnu.org/licenses/>.

*/

$version = "1.0";

$username = "sesamotto";
$password = "xxxxxxxxxx";

error_reporting(0);

strncasecmp(php_uname('s'), "Win", 3) == 0 ? $windows = true : $windows = false;

if ($windows)
   {
   if (file_exists("C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe"))
       $vlc = "C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe";
   else
       $vlc = "C:\\Program Files\\VideoLAN\\VLC\\vlc.exe";
    }
  else
    {
      $vlc = "vlc";
      $out = "2>/dev/null";
    }

if (file_exists("cookies.txt")){unlink("cookies.txt");}

class cURL {
var $headers ;
var $user_agent ;
var $compression ;
var $cookie_file ;
var $proxy ;
function cURL ( $cookies = TRUE , $cookie = 'cookies.txt' , $compression = 'gzip' , $proxy = '127.0.0.1:9050' ) {
$this -> headers [] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg' ;
$this -> headers [] = 'Connection: Keep-Alive' ;
$this -> headers [] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8' ;
$this -> user_agent = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0' ;
$this -> compression = $compression ;
$this -> proxy = $proxy ;
$this -> cookies = $cookies ;
if ( $this -> cookies == TRUE ) $this -> cookie ( $cookie );
}
function cookie ( $cookie_file ) {
if ( file_exists ( $cookie_file )) {
$this -> cookie_file = $cookie_file ;
} else {
fopen ( $cookie_file , 'w' ) or $this -> error ( 'The cookie file could not be opened. Make sure this directory has the correct permissions' );
$this -> cookie_file = $cookie_file ;
fclose ( $this -> cookie_file );
}
}
function get ( $url ) {
$process = curl_init ( $url );
curl_setopt ( $process , CURLOPT_HTTPHEADER , $this -> headers );
curl_setopt ( $process , CURLOPT_HEADER , 1 );
curl_setopt ( $process , CURLOPT_USERAGENT , $this -> user_agent );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEFILE , $this -> cookie_file );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEJAR , $this -> cookie_file );
curl_setopt ( $process , CURLOPT_ENCODING , $this -> compression );
curl_setopt ( $process , CURLOPT_TIMEOUT , 30 );
if ( $this -> proxy ) curl_setopt ( $process , CURLOPT_PROXY , $this -> proxy );

curl_setopt ( $process , CURLOPT_PROXYTYPE , CURLPROXY_SOCKS4 );
curl_setopt ( $process , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt ( $process , CURLOPT_FOLLOWLOCATION , 0 );
$return = curl_exec ( $process );
curl_close ( $process );
return $return ;
}
function post ( $url , $data ) {
$process = curl_init ( $url );
curl_setopt ( $process , CURLOPT_HTTPHEADER , $this -> headers );
curl_setopt ( $process , CURLOPT_HEADER , 1 );
curl_setopt ( $process , CURLOPT_USERAGENT , $this -> user_agent );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEFILE , $this -> cookie_file );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEJAR , $this -> cookie_file );
curl_setopt ( $process , CURLOPT_ENCODING , $this -> compression );
curl_setopt ( $process , CURLOPT_TIMEOUT , 30 );
if ( $this -> proxy ) curl_setopt ( $process , CURLOPT_PROXY , $this -> proxy );

curl_setopt ( $process , CURLOPT_PROXYTYPE , CURLPROXY_SOCKS4 );
curl_setopt ( $process , CURLOPT_POSTFIELDS , $data );
curl_setopt ( $process , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt ( $process , CURLOPT_FOLLOWLOCATION , 0 );
curl_setopt ( $process , CURLOPT_POST , 1 );
$return = curl_exec ( $process );
curl_close ( $process );
return $return ;
}
}

// Login form

$cc = new cURL ();
$html = $cc->get("http://www.teleboy.ch/login?target=http%3A%2F%2Fwww.teleboy.ch%2F");
$html = $cc->post("http://www.teleboy.ch/layer/login_check", "login=".$username."&password=".$password."&x=14&y=7&keep_login=1");
$check = file_get_contents("cookies.txt");
if (preg_match("/cinergy_auth/", $check)){
unset($check);
} else {
echo "\r\n\r\n\r\nLogin failed! Check your account data!\r\n\r\n\r\n";
sleep(5);
die;
}

// Channels list

$html = $cc->get("http://www.teleboy.ch/programm/?program_date=live");
$html = preg_replace('/%FC/i', "ü", $html);
preg_match_all('/<tr class=\"playable blackListing\"><td class=\"station\"><a href=\"(.*?)\"/si', $html, $sids);
foreach ($sids[1] as &$sid) {
	$tmp = explode("/", $sid);
	$sid = $tmp[4].") ".$tmp[3];
}
unset($sid);

while (1 > 0) {

echo "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nChannels list:\r\n\r\n";

foreach ($sids[1] as $sid) {
	echo "$sid\r\n";
}

echo "\r\nChoose a channel or press x to exit: ";

$inp = fgets(STDIN);
$inp = str_replace(array("\n","\r"), "", $inp);

// Grab information

if (preg_match("/[a-zA-Z]/", $inp)) {
echo "Killed!";
unlink("cookies.txt");
die;
}

$html = $cc->get("http://www.teleboy.ch/tv/player/");
preg_match("/swfobject\.embedSWF\(\"(.*?)\"/si", $html, $swf);
$swf = "http://www.teleboy.ch".$swf[1];
preg_match('/var station2channels = {(.*?)};/si', $html, $map);
$map = preg_replace('/},/', "}\r\n", $map[1]);
$map = preg_replace('/"/', "", $map);
$pat = "/".$inp."\:\{(.*?)\}/s"; 
preg_match($pat, $map, $cids);
$cids = preg_replace("/\,/", "\r\n", $cids[1]);
$cids = explode(":", $cids);
$cid1 = $cids[1];
$cid2 = $cids[0];

// Grab parameters

$ccc = new cURL ();
$ccc->headers[] = "X-Requested-With: XMLHttpRequest";
$ccc->headers[] = "Referer: http://www.teleboy.ch/tv/player/?stationId=".$inp;
$html = $ccc->get("http://www.teleboy.ch/tv/player/ajax/liveChannelParams?cid=".$cid1."&cid2=".$cid2."&profile=high");
$params = explode('"', $html);
$params = $params[5];
$params = explode('|', $params);
$chname = $params[1];
$a = $params[2];
$c1 = $params[3];
$c2 = $params[4];
$c3 = $params[5];
$c4 = $params[6];
$c5 = $params[7];
$c6 = $params[8];
$ip = $params[9];
$x11 = $params[10];
$html = $cc->get("http://www.teleboy.ch/proxy/player/getserver.php?version=".$ip);
preg_match("/ip=(.+)/si", $html, $ok);
$ip = $ok[1];

echo "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nStart of $chname in progress...\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";

$cmd = 'rtmpdump -q -v -r "rtmp://'.$ip.'/'.$x11.'" -W "'.$swf.'" -S "127.0.0.1:9050" -C "S:'.$c1.'" -C "S:'.$c2.'" -C "S:'.$c3.'" -C "S:'.$c4.'" -C "S:'.$c5.'" -C "S:'.$c6.'" -p "http://www.teleboy.ch/tv/player/player.php?stationId='.$inp.'" -y "'.$c1.$c2.'.stream" | "'.$vlc.'" --meta-title="'.$chname.' Powered by Darby_Crash" - '.$out.'';

shell_exec($cmd);
}
?>
Devi usare Vidalia per sembrare svizzero e registrarti su http://www.teleboy.ch (l'account è gratuito). Poi vai su questa pagina e confermi i dati dopo l'avvenuta registrazione: http://www.teleboy.ch/tv/player/.

A giochi fatti, questi sono username e password che andrai a inserire nel file php.
Allora, sono riuscito a fare l'iscrizione al sito Teleboy, mi ha dato la password tramite la mail con cui mi sono registrato. Ho inserito nello script la username e la password fornitami cosi' come si vede nello script poco sopra, cioe' tra le virgolette. Ho reso eseguibile il file .php ma quando lo attivo compare per un attimo il terminale, vuoto, per poi richiudersi quasi subito. Sottolineo anche che non ha creato alcun txt file.

N.B.
Nel frattempo ho sempre usato Vidalia.
Aggiungi queste due righe alla fine del file torrc per sembrare svizzero, l'ho testato personalmente e va:

Codice: Seleziona tutto

ExitNodes $131B60B9AFE6AEA60042132D648798534ABEA07E
StrictNodes 1
Dopo aver registrato l'account devi visitare questa pagina: http://www.teleboy.ch/tv/player/ e confermare i tuoi dati, l'hai fatto?

Per usare lo script devi avere già attivo Tor, aprire una finestra del terminale e recarti nella cartella dove hai lo script e lanciarlo cosi':

Codice: Seleziona tutto

php WatchTeleboy.php
Richiede: account free a Teleboy.ch, php5-cli, php5-curl, vlc, rtmpdump 2.4, Tor (Vidalia/TBB).

Re: script multifunzionale per vedere le dirette televisive.

Inviato: lunedì 8 luglio 2013, 16:51
da sesamotto
Darby_Crash [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419699#p4419699][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
sesamotto [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419688#p4419688][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
Darby_Crash [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419569#p4419569][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
sesamotto [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419529#p4419529][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Scusatemi se oggi faccio tante domande...
C'e' qualcuno che ha capito come usare l'ultimo script di Darby?

In particolare, credo di avere capito che si usi attivando Tor Vidalia...ma all'interno dello script leggo che devono essere inserite una username e una password...quali?
Grazie per eventuali risposte.

Lo script, che stasera non ne vuole saper di essere allegato, si chiama WatchTeleboy.php

Codice: Seleziona tutto

<?php
/*
 Filename: WatchTeleboy.php. Copyright 2013, Darby_Crash - kihol@inwind.it

   This Program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3, or (at your option)
   any later version.

   This Program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program. If not, see <http://www.gnu.org/licenses/>.

*/

$version = "1.0";

$username = "sesamotto";
$password = "xxxxxxxxxx";

error_reporting(0);

strncasecmp(php_uname('s'), "Win", 3) == 0 ? $windows = true : $windows = false;

if ($windows)
   {
   if (file_exists("C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe"))
       $vlc = "C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe";
   else
       $vlc = "C:\\Program Files\\VideoLAN\\VLC\\vlc.exe";
    }
  else
    {
      $vlc = "vlc";
      $out = "2>/dev/null";
    }

if (file_exists("cookies.txt")){unlink("cookies.txt");}

class cURL {
var $headers ;
var $user_agent ;
var $compression ;
var $cookie_file ;
var $proxy ;
function cURL ( $cookies = TRUE , $cookie = 'cookies.txt' , $compression = 'gzip' , $proxy = '127.0.0.1:9050' ) {
$this -> headers [] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg' ;
$this -> headers [] = 'Connection: Keep-Alive' ;
$this -> headers [] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8' ;
$this -> user_agent = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0' ;
$this -> compression = $compression ;
$this -> proxy = $proxy ;
$this -> cookies = $cookies ;
if ( $this -> cookies == TRUE ) $this -> cookie ( $cookie );
}
function cookie ( $cookie_file ) {
if ( file_exists ( $cookie_file )) {
$this -> cookie_file = $cookie_file ;
} else {
fopen ( $cookie_file , 'w' ) or $this -> error ( 'The cookie file could not be opened. Make sure this directory has the correct permissions' );
$this -> cookie_file = $cookie_file ;
fclose ( $this -> cookie_file );
}
}
function get ( $url ) {
$process = curl_init ( $url );
curl_setopt ( $process , CURLOPT_HTTPHEADER , $this -> headers );
curl_setopt ( $process , CURLOPT_HEADER , 1 );
curl_setopt ( $process , CURLOPT_USERAGENT , $this -> user_agent );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEFILE , $this -> cookie_file );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEJAR , $this -> cookie_file );
curl_setopt ( $process , CURLOPT_ENCODING , $this -> compression );
curl_setopt ( $process , CURLOPT_TIMEOUT , 30 );
if ( $this -> proxy ) curl_setopt ( $process , CURLOPT_PROXY , $this -> proxy );

curl_setopt ( $process , CURLOPT_PROXYTYPE , CURLPROXY_SOCKS4 );
curl_setopt ( $process , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt ( $process , CURLOPT_FOLLOWLOCATION , 0 );
$return = curl_exec ( $process );
curl_close ( $process );
return $return ;
}
function post ( $url , $data ) {
$process = curl_init ( $url );
curl_setopt ( $process , CURLOPT_HTTPHEADER , $this -> headers );
curl_setopt ( $process , CURLOPT_HEADER , 1 );
curl_setopt ( $process , CURLOPT_USERAGENT , $this -> user_agent );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEFILE , $this -> cookie_file );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEJAR , $this -> cookie_file );
curl_setopt ( $process , CURLOPT_ENCODING , $this -> compression );
curl_setopt ( $process , CURLOPT_TIMEOUT , 30 );
if ( $this -> proxy ) curl_setopt ( $process , CURLOPT_PROXY , $this -> proxy );

curl_setopt ( $process , CURLOPT_PROXYTYPE , CURLPROXY_SOCKS4 );
curl_setopt ( $process , CURLOPT_POSTFIELDS , $data );
curl_setopt ( $process , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt ( $process , CURLOPT_FOLLOWLOCATION , 0 );
curl_setopt ( $process , CURLOPT_POST , 1 );
$return = curl_exec ( $process );
curl_close ( $process );
return $return ;
}
}

// Login form

$cc = new cURL ();
$html = $cc->get("http://www.teleboy.ch/login?target=http%3A%2F%2Fwww.teleboy.ch%2F");
$html = $cc->post("http://www.teleboy.ch/layer/login_check", "login=".$username."&password=".$password."&x=14&y=7&keep_login=1");
$check = file_get_contents("cookies.txt");
if (preg_match("/cinergy_auth/", $check)){
unset($check);
} else {
echo "\r\n\r\n\r\nLogin failed! Check your account data!\r\n\r\n\r\n";
sleep(5);
die;
}

// Channels list

$html = $cc->get("http://www.teleboy.ch/programm/?program_date=live");
$html = preg_replace('/%FC/i', "ü", $html);
preg_match_all('/<tr class=\"playable blackListing\"><td class=\"station\"><a href=\"(.*?)\"/si', $html, $sids);
foreach ($sids[1] as &$sid) {
	$tmp = explode("/", $sid);
	$sid = $tmp[4].") ".$tmp[3];
}
unset($sid);

while (1 > 0) {

echo "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nChannels list:\r\n\r\n";

foreach ($sids[1] as $sid) {
	echo "$sid\r\n";
}

echo "\r\nChoose a channel or press x to exit: ";

$inp = fgets(STDIN);
$inp = str_replace(array("\n","\r"), "", $inp);

// Grab information

if (preg_match("/[a-zA-Z]/", $inp)) {
echo "Killed!";
unlink("cookies.txt");
die;
}

$html = $cc->get("http://www.teleboy.ch/tv/player/");
preg_match("/swfobject\.embedSWF\(\"(.*?)\"/si", $html, $swf);
$swf = "http://www.teleboy.ch".$swf[1];
preg_match('/var station2channels = {(.*?)};/si', $html, $map);
$map = preg_replace('/},/', "}\r\n", $map[1]);
$map = preg_replace('/"/', "", $map);
$pat = "/".$inp."\:\{(.*?)\}/s"; 
preg_match($pat, $map, $cids);
$cids = preg_replace("/\,/", "\r\n", $cids[1]);
$cids = explode(":", $cids);
$cid1 = $cids[1];
$cid2 = $cids[0];

// Grab parameters

$ccc = new cURL ();
$ccc->headers[] = "X-Requested-With: XMLHttpRequest";
$ccc->headers[] = "Referer: http://www.teleboy.ch/tv/player/?stationId=".$inp;
$html = $ccc->get("http://www.teleboy.ch/tv/player/ajax/liveChannelParams?cid=".$cid1."&cid2=".$cid2."&profile=high");
$params = explode('"', $html);
$params = $params[5];
$params = explode('|', $params);
$chname = $params[1];
$a = $params[2];
$c1 = $params[3];
$c2 = $params[4];
$c3 = $params[5];
$c4 = $params[6];
$c5 = $params[7];
$c6 = $params[8];
$ip = $params[9];
$x11 = $params[10];
$html = $cc->get("http://www.teleboy.ch/proxy/player/getserver.php?version=".$ip);
preg_match("/ip=(.+)/si", $html, $ok);
$ip = $ok[1];

echo "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nStart of $chname in progress...\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";

$cmd = 'rtmpdump -q -v -r "rtmp://'.$ip.'/'.$x11.'" -W "'.$swf.'" -S "127.0.0.1:9050" -C "S:'.$c1.'" -C "S:'.$c2.'" -C "S:'.$c3.'" -C "S:'.$c4.'" -C "S:'.$c5.'" -C "S:'.$c6.'" -p "http://www.teleboy.ch/tv/player/player.php?stationId='.$inp.'" -y "'.$c1.$c2.'.stream" | "'.$vlc.'" --meta-title="'.$chname.' Powered by Darby_Crash" - '.$out.'';

shell_exec($cmd);
}
?>
Devi usare Vidalia per sembrare svizzero e registrarti su http://www.teleboy.ch (l'account è gratuito). Poi vai su questa pagina e confermi i dati dopo l'avvenuta registrazione: http://www.teleboy.ch/tv/player/.

A giochi fatti, questi sono username e password che andrai a inserire nel file php.
Allora, sono riuscito a fare l'iscrizione al sito Teleboy, mi ha dato la password tramite la mail con cui mi sono registrato. Ho inserito nello script la username e la password fornitami cosi' come si vede nello script poco sopra, cioe' tra le virgolette. Ho reso eseguibile il file .php ma quando lo attivo compare per un attimo il terminale, vuoto, per poi richiudersi quasi subito. Sottolineo anche che non ha creato alcun txt file.

N.B.
Nel frattempo ho sempre usato Vidalia.
Aggiungi queste due righe alla fine del file torrc per sembrare svizzero, l'ho testato personalmente e va:

Codice: Seleziona tutto

ExitNodes $131B60B9AFE6AEA60042132D648798534ABEA07E
StrictNodes 1
Dopo aver registrato l'account devi visitare questa pagina: http://www.teleboy.ch/tv/player/ e confermare i tuoi dati, l'hai fatto?

Per usare lo script devi avere già attivo Tor, aprire una finestra del terminale e recarti nella cartella dove hai lo script e lanciarlo cosi':

Codice: Seleziona tutto

php WatchTeleboy.php
Richiede: account free a Teleboy.ch, php5-cli, php5-curl, vlc, rtmpdump 2.4, Tor (Vidalia/TBB).

Ciao Darby, intanto grazie per la pazienza...
Ho fatto l'iscrizione a Teleboy e poi sono entrato nel secondo sito dando conferma di username e password...pare che mi riconosca perche appare una specie di saluto in lingua tedesca al fianco del quale compare la mia username "sesamotto".

Il problema e' un altro.
Il file torrc e' questo?

Codice: Seleziona tutto

# This file was generated by Tor; if you edit it, comments will not be preserved
# The old torrc file was renamed to torrc.orig.1 or similar, and Tor will ignore it

AvoidDiskWrites 1
ControlPort 8118
DataDirectory /home/sesamotto/.tor-browser/Data/Tor
DirReqStatistics 0
GeoIPFile ./Data/Tor/geoip
HashedControlPassword 16:407745E716162CD6609AF2D7433DA87085031D390EEED75C801AE8FB4A
Log notice stdout
SocksListenAddress 127.0.0.1
SocksPort 9050
ExitNodes $131B60B9AFE6AEA60042132D648798534ABEA07E
StrictNodes 1
Come vedi ho aggiunto alla fine del file le due righe che mi hai indicato ma quando chiudo mi dice "errore alla linea 1: "" . E non salva le due predette righe.

Scusami. Sbaglio io sicuramente qualcosa ma non so cosa.
Grazie ancora.

Re: script multifunzionale per vedere le dirette televisive.

Inviato: lunedì 8 luglio 2013, 17:26
da BlueEyes
Ciao sesa. Quando si è in un angolo, qualsiasi "appiglio" può essere utile, anche se apparentemente insignificante. Leggo da un mio vecchio appunto:

Codice: Seleziona tutto

ExitNodes {US}   // per scegliere la nazionalità, Stati Uniti
StrictExitNodes 1
Ergo ... potrebbero essere quelle parentesi graffe del primo comando ad aprire ... l'arcano! Intendo dire, prova a mettere tra le graffe la stringa $131B60B9AFE6AEA60042132D648798534ABEA07E

Re: script multifunzionale per vedere le dirette televisive.

Inviato: lunedì 8 luglio 2013, 18:38
da orwilsio
Sempre di meno, però adesso vanno...
Per Real Time dovrebbe essere qualcosa di simile, ma da' errore!

Codice: Seleziona tutto

REAL TIME | rtmpdump -v -r "rtmpe://46.19.140.190:1935/liveedge2" -W "http://www.megacast.io/player59.swf" -p "http://datapubblicita1.altervista.org/Real_time.php" -y "sdvsdav-fDMSWEK"  -o- | "C:\Programmi\VideoLAN\VLC\vlc.exe" -
;)
P.S. A me Watch Teleboy per Windows funziona (solo che il flusso streaming non è fluido, anche aumentando la cache).
Uso una vecchia versione di Vidalia. La nuova dava anche a me l'errore di Sesamotto, però poi i canali partivano lo stesso...

Re: script multifunzionale per vedere le dirette televisive.

Inviato: lunedì 8 luglio 2013, 18:52
da Darby_Crash
sesamotto [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419888#p4419888][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
Darby_Crash [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419699#p4419699][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
sesamotto [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419688#p4419688][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
Darby_Crash [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419569#p4419569][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
sesamotto [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419529#p4419529][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Scusatemi se oggi faccio tante domande...
C'e' qualcuno che ha capito come usare l'ultimo script di Darby?

In particolare, credo di avere capito che si usi attivando Tor Vidalia...ma all'interno dello script leggo che devono essere inserite una username e una password...quali?
Grazie per eventuali risposte.

Lo script, che stasera non ne vuole saper di essere allegato, si chiama WatchTeleboy.php

Codice: Seleziona tutto

<?php
/*
 Filename: WatchTeleboy.php. Copyright 2013, Darby_Crash - kihol@inwind.it

   This Program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3, or (at your option)
   any later version.

   This Program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program. If not, see <http://www.gnu.org/licenses/>.

*/

$version = "1.0";

$username = "sesamotto";
$password = "xxxxxxxxxx";

error_reporting(0);

strncasecmp(php_uname('s'), "Win", 3) == 0 ? $windows = true : $windows = false;

if ($windows)
   {
   if (file_exists("C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe"))
       $vlc = "C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe";
   else
       $vlc = "C:\\Program Files\\VideoLAN\\VLC\\vlc.exe";
    }
  else
    {
      $vlc = "vlc";
      $out = "2>/dev/null";
    }

if (file_exists("cookies.txt")){unlink("cookies.txt");}

class cURL {
var $headers ;
var $user_agent ;
var $compression ;
var $cookie_file ;
var $proxy ;
function cURL ( $cookies = TRUE , $cookie = 'cookies.txt' , $compression = 'gzip' , $proxy = '127.0.0.1:9050' ) {
$this -> headers [] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg' ;
$this -> headers [] = 'Connection: Keep-Alive' ;
$this -> headers [] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8' ;
$this -> user_agent = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0' ;
$this -> compression = $compression ;
$this -> proxy = $proxy ;
$this -> cookies = $cookies ;
if ( $this -> cookies == TRUE ) $this -> cookie ( $cookie );
}
function cookie ( $cookie_file ) {
if ( file_exists ( $cookie_file )) {
$this -> cookie_file = $cookie_file ;
} else {
fopen ( $cookie_file , 'w' ) or $this -> error ( 'The cookie file could not be opened. Make sure this directory has the correct permissions' );
$this -> cookie_file = $cookie_file ;
fclose ( $this -> cookie_file );
}
}
function get ( $url ) {
$process = curl_init ( $url );
curl_setopt ( $process , CURLOPT_HTTPHEADER , $this -> headers );
curl_setopt ( $process , CURLOPT_HEADER , 1 );
curl_setopt ( $process , CURLOPT_USERAGENT , $this -> user_agent );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEFILE , $this -> cookie_file );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEJAR , $this -> cookie_file );
curl_setopt ( $process , CURLOPT_ENCODING , $this -> compression );
curl_setopt ( $process , CURLOPT_TIMEOUT , 30 );
if ( $this -> proxy ) curl_setopt ( $process , CURLOPT_PROXY , $this -> proxy );

curl_setopt ( $process , CURLOPT_PROXYTYPE , CURLPROXY_SOCKS4 );
curl_setopt ( $process , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt ( $process , CURLOPT_FOLLOWLOCATION , 0 );
$return = curl_exec ( $process );
curl_close ( $process );
return $return ;
}
function post ( $url , $data ) {
$process = curl_init ( $url );
curl_setopt ( $process , CURLOPT_HTTPHEADER , $this -> headers );
curl_setopt ( $process , CURLOPT_HEADER , 1 );
curl_setopt ( $process , CURLOPT_USERAGENT , $this -> user_agent );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEFILE , $this -> cookie_file );
if ( $this -> cookies == TRUE ) curl_setopt ( $process , CURLOPT_COOKIEJAR , $this -> cookie_file );
curl_setopt ( $process , CURLOPT_ENCODING , $this -> compression );
curl_setopt ( $process , CURLOPT_TIMEOUT , 30 );
if ( $this -> proxy ) curl_setopt ( $process , CURLOPT_PROXY , $this -> proxy );

curl_setopt ( $process , CURLOPT_PROXYTYPE , CURLPROXY_SOCKS4 );
curl_setopt ( $process , CURLOPT_POSTFIELDS , $data );
curl_setopt ( $process , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt ( $process , CURLOPT_FOLLOWLOCATION , 0 );
curl_setopt ( $process , CURLOPT_POST , 1 );
$return = curl_exec ( $process );
curl_close ( $process );
return $return ;
}
}

// Login form

$cc = new cURL ();
$html = $cc->get("http://www.teleboy.ch/login?target=http%3A%2F%2Fwww.teleboy.ch%2F");
$html = $cc->post("http://www.teleboy.ch/layer/login_check", "login=".$username."&password=".$password."&x=14&y=7&keep_login=1");
$check = file_get_contents("cookies.txt");
if (preg_match("/cinergy_auth/", $check)){
unset($check);
} else {
echo "\r\n\r\n\r\nLogin failed! Check your account data!\r\n\r\n\r\n";
sleep(5);
die;
}

// Channels list

$html = $cc->get("http://www.teleboy.ch/programm/?program_date=live");
$html = preg_replace('/%FC/i', "ü", $html);
preg_match_all('/<tr class=\"playable blackListing\"><td class=\"station\"><a href=\"(.*?)\"/si', $html, $sids);
foreach ($sids[1] as &$sid) {
	$tmp = explode("/", $sid);
	$sid = $tmp[4].") ".$tmp[3];
}
unset($sid);

while (1 > 0) {

echo "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nChannels list:\r\n\r\n";

foreach ($sids[1] as $sid) {
	echo "$sid\r\n";
}

echo "\r\nChoose a channel or press x to exit: ";

$inp = fgets(STDIN);
$inp = str_replace(array("\n","\r"), "", $inp);

// Grab information

if (preg_match("/[a-zA-Z]/", $inp)) {
echo "Killed!";
unlink("cookies.txt");
die;
}

$html = $cc->get("http://www.teleboy.ch/tv/player/");
preg_match("/swfobject\.embedSWF\(\"(.*?)\"/si", $html, $swf);
$swf = "http://www.teleboy.ch".$swf[1];
preg_match('/var station2channels = {(.*?)};/si', $html, $map);
$map = preg_replace('/},/', "}\r\n", $map[1]);
$map = preg_replace('/"/', "", $map);
$pat = "/".$inp."\:\{(.*?)\}/s"; 
preg_match($pat, $map, $cids);
$cids = preg_replace("/\,/", "\r\n", $cids[1]);
$cids = explode(":", $cids);
$cid1 = $cids[1];
$cid2 = $cids[0];

// Grab parameters

$ccc = new cURL ();
$ccc->headers[] = "X-Requested-With: XMLHttpRequest";
$ccc->headers[] = "Referer: http://www.teleboy.ch/tv/player/?stationId=".$inp;
$html = $ccc->get("http://www.teleboy.ch/tv/player/ajax/liveChannelParams?cid=".$cid1."&cid2=".$cid2."&profile=high");
$params = explode('"', $html);
$params = $params[5];
$params = explode('|', $params);
$chname = $params[1];
$a = $params[2];
$c1 = $params[3];
$c2 = $params[4];
$c3 = $params[5];
$c4 = $params[6];
$c5 = $params[7];
$c6 = $params[8];
$ip = $params[9];
$x11 = $params[10];
$html = $cc->get("http://www.teleboy.ch/proxy/player/getserver.php?version=".$ip);
preg_match("/ip=(.+)/si", $html, $ok);
$ip = $ok[1];

echo "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nStart of $chname in progress...\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";

$cmd = 'rtmpdump -q -v -r "rtmp://'.$ip.'/'.$x11.'" -W "'.$swf.'" -S "127.0.0.1:9050" -C "S:'.$c1.'" -C "S:'.$c2.'" -C "S:'.$c3.'" -C "S:'.$c4.'" -C "S:'.$c5.'" -C "S:'.$c6.'" -p "http://www.teleboy.ch/tv/player/player.php?stationId='.$inp.'" -y "'.$c1.$c2.'.stream" | "'.$vlc.'" --meta-title="'.$chname.' Powered by Darby_Crash" - '.$out.'';

shell_exec($cmd);
}
?>
Devi usare Vidalia per sembrare svizzero e registrarti su http://www.teleboy.ch (l'account è gratuito). Poi vai su questa pagina e confermi i dati dopo l'avvenuta registrazione: http://www.teleboy.ch/tv/player/.

A giochi fatti, questi sono username e password che andrai a inserire nel file php.
Allora, sono riuscito a fare l'iscrizione al sito Teleboy, mi ha dato la password tramite la mail con cui mi sono registrato. Ho inserito nello script la username e la password fornitami cosi' come si vede nello script poco sopra, cioe' tra le virgolette. Ho reso eseguibile il file .php ma quando lo attivo compare per un attimo il terminale, vuoto, per poi richiudersi quasi subito. Sottolineo anche che non ha creato alcun txt file.

N.B.
Nel frattempo ho sempre usato Vidalia.
Aggiungi queste due righe alla fine del file torrc per sembrare svizzero, l'ho testato personalmente e va:

Codice: Seleziona tutto

ExitNodes $131B60B9AFE6AEA60042132D648798534ABEA07E
StrictNodes 1
Dopo aver registrato l'account devi visitare questa pagina: http://www.teleboy.ch/tv/player/ e confermare i tuoi dati, l'hai fatto?

Per usare lo script devi avere già attivo Tor, aprire una finestra del terminale e recarti nella cartella dove hai lo script e lanciarlo cosi':

Codice: Seleziona tutto

php WatchTeleboy.php
Richiede: account free a Teleboy.ch, php5-cli, php5-curl, vlc, rtmpdump 2.4, Tor (Vidalia/TBB).

Ciao Darby, intanto grazie per la pazienza...
Ho fatto l'iscrizione a Teleboy e poi sono entrato nel secondo sito dando conferma di username e password...pare che mi riconosca perche appare una specie di saluto in lingua tedesca al fianco del quale compare la mia username "sesamotto".

Il problema e' un altro.
Il file torrc e' questo?

Codice: Seleziona tutto

# This file was generated by Tor; if you edit it, comments will not be preserved
# The old torrc file was renamed to torrc.orig.1 or similar, and Tor will ignore it

AvoidDiskWrites 1
ControlPort 8118
DataDirectory /home/sesamotto/.tor-browser/Data/Tor
DirReqStatistics 0
GeoIPFile ./Data/Tor/geoip
HashedControlPassword 16:407745E716162CD6609AF2D7433DA87085031D390EEED75C801AE8FB4A
Log notice stdout
SocksListenAddress 127.0.0.1
SocksPort 9050
ExitNodes $131B60B9AFE6AEA60042132D648798534ABEA07E
StrictNodes 1
Come vedi ho aggiunto alla fine del file le due righe che mi hai indicato ma quando chiudo mi dice "errore alla linea 1: "" . E non salva le due predette righe.

Scusami. Sbaglio io sicuramente qualcosa ma non so cosa.
Grazie ancora.
Il file torrc va bene, lascialo cosi' (senza graffe). L'errore te lo da perchè tenti di modificarlo dalle impostazioni di Vidalia. Devi aprirlo con gedit, modificarlo e salvarlo. Poi chiudi e rilanci Vidalia.

Su API ho fixato DailyMotion, che adesso funziona con ogni url...
fixato PutLocker... su versione PHP
fixato NowVideo

Re: script multifunzionale per vedere le dirette televisive.

Inviato: lunedì 8 luglio 2013, 19:17
da BlueEyes
Grazie orwilsio, ho appena provato i canali [#9] di ITA.txt, una meraviglia. La7 finalmente con un "possente" audio! Solo Dmax con audio/video leggermente "fratturati". Ciao

Re: script multifunzionale per vedere le dirette televisive.

Inviato: lunedì 8 luglio 2013, 20:19
da sesamotto
@Darby

Non serve piu'. Grazie comunque. Nel tentativo di modificare il file torrc l'ho prelevato da Vidalia e l'ho trasferito su scrivania, poiche da Vidalia mi dava quell'errore. Non sono piu' stato in grado di riportarlo al suo vecchio posto. Risultato: adesso appena apro Vidalia mi dice: "Vidalia detected that the Tor software exited unexpectedly.
Please check the message log for recent warning or error messages".

Ho fatto ore di disinstallazione e reinstallazione in tutti i modi. Da terminale, da Synaptic, da Ubuntu software center ma niente. Ho seguito decine di guide, in italiano e in inglese.
Brutto ammetterlo...mi arrendo.
Grazie ugualmente.


EDIT

Ha ripreso a funzionare, non so come ma nella home ho cancellato tutte le boiate da me combinate in data odierna. Tor ha ripreso a funzionare. Riprendo la mia battaglia per teleboy....

Re: script multifunzionale per vedere le dirette televisive.

Inviato: lunedì 8 luglio 2013, 21:12
da Darby_Crash
sesamotto [url=http://forum.ubuntu-it.org/viewtopic.php?p=4419994#p4419994][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:@Darby

Non serve piu'. Grazie comunque. Nel tentativo di modificare il file torrc l'ho prelevato da Vidalia e l'ho trasferito su scrivania, poiche da Vidalia mi dava quell'errore. Non sono piu' stato in grado di riportarlo al suo vecchio posto. Risultato: adesso appena apro Vidalia mi dice: "Vidalia detected that the Tor software exited unexpectedly.
Please check the message log for recent warning or error messages".

Ho fatto ore di disinstallazione e reinstallazione in tutti i modi. Da terminale, da Synaptic, da Ubuntu software center ma niente. Ho seguito decine di guide, in italiano e in inglese.
Brutto ammetterlo...mi arrendo.
Grazie ugualmente.
Apri "Monitor di sistema" e termina il processo "tor".