Page 1 sur 1

Afficher un doc avec l'IP du visiteur et non du serveur

Posté : 19 févr. 2015, 16:40
par racacax
Bonjour,

J'ai ce code qui affiche le code source d'une page. Dans cette page, il y a un lien M3U8. Démo : http://forum-racacax.byethost7.com/PHP/ ... efille.php . Ce lien a un token qui se régénère souvent et est propre à chaque IP. Du coup, dans le lien Démo, le lien M3U8 présent ne fonctionne pas car le token est pour l'IP du serveur. Peux ton me dire comment afficher le code source de cette page avec l'IP de la personne qui y accède ?

Au mieux, comment garder uniquement le lien M3U8 ?

Merci
	
<?php
 
$ch = curl_init();
$timeout = 5; 
curl_setopt ($ch, CURLOPT_URL, 'http://www.stream4free.eu/un-gars-une-fille');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
$lines = array();
$lines = explode("\n", $file_contents);

foreach($lines as $line_num => $line) {
echo "Line # {$line_num} : ".htmlspecialchars($line)."<br />\n";
}
 
?>



Re: Afficher un doc avec l'IP du visiteur et non du serveur

Posté : 19 févr. 2015, 16:56
par @rthur
Bonjour,

Si le soft du serveur distant qui génère le token est bien conçu, ce que tu veux faire n'est pas possible car il va attribuer un token uniquement valable pour l'IP qui fait la demande.

Si il est mal conçu, tu peux essayer de te faire passer pour un proxy et fournir en en-tête dans curl les variables HTTP_X_FORWARDED_FOR et X-REAL-IP avec l'IP du véritable utilisateur et voir si à tout hasard le serveur te fournirait des token pour cette IP.

Re: Afficher un doc avec l'IP du visiteur et non du serveur

Posté : 19 févr. 2015, 17:35
par racacax
Salut,
J'ai essayé mais non. Cependant, en utilisant un proxy (CybergHost), ça marche : http://forum-racacax.byethost7.com/PHP/ ... efille.php . Il ne reste plus qu'à isoler le m3u8. Il se trouve dans le HTML présenté comme ceci :
<source src="/go/browse.php?u=http%3A%2F%2F195.154.188.161%3A8080%2F[TOKEN]%2Fhls%2Fungarsunefille.m3u8&b=7"
Je vérifie si par hasard, le token reste. Ce serait de la chance. Le lien M3U8 : https://ro-free-proxy.cyberghostvpn.com ... e.m3u8&b=7
<?php

$ch = curl_init();
$timeout = 5; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, 'https://ro-free-proxy.cyberghostvpn.com/go/browse.php?u=http%3A%2F%2Fwww.stream4free.eu%2Fun-gars-une-fille&b=7&f=norefer');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
$lines = array();
$lines = explode("\n", $file_contents);

// display file line by line
foreach($lines as $line_num => $line) {
echo "Line # {$line_num} : ".htmlspecialchars($line)."<br />\n";
}
?>
En parallèle, j'essaye un truc avec Dailymotion : http://cdn-racacax.lescigales.org/n23.php . J'ai eu le token qui est lui aussi propre à chaque IP et géobloqué. Cependant, le lien à l'intérieur n'a pas de token et de géobloquage. Comment afficher directement l'intérieur du lien ?
Voici le code actuellement :
<?php
$json = file_get_contents('http://www.dailymotion.com/json/video/k38A5u07JhRufP4vLxE?fields=stream_live_hls_url');
$feed = current(json_decode($json));
echo '', $feed, '';
?>

Re: Afficher un doc avec l'IP du visiteur et non du serveur

Posté : 19 févr. 2015, 19:32
par racacax
Pour Dalymotion j'ai trouvé le PB. Lors de la redirection, il y a un %26qui est transformé en & et du coup on a le droit à un 403 forbidden. Du coup ça ne marche pas. Est-il possible de changer le &auth en %26auth ? Par un str_replace ? Ou autre fonction ?
<?php
$json = file_get_contents('http://www.dailymotion.com/json/video/k38A5u07JhRufP4vLxE?fields=stream_live_hls_url');
$feed = current(json_decode($json));
echo '<meta http-equiv="refresh" content="0; URL=http://cdn-racacax.lescigales.org/?u=', $feed, '&b=7&f=norefer">';
?>

Re: Afficher un doc avec l'IP du visiteur et non du serveur

Posté : 21 févr. 2015, 16:37
par racacax
Une idée ?

Re: Afficher un doc avec l'IP du visiteur et non du serveur

Posté : 21 févr. 2015, 16:48
par tof73
http://www.dailymotion.com/cdn/live/video/x13p3qi retourne aussi une 403, donc je ne pense pas que cela soit un problème de paramètre.

Re: Afficher un doc avec l'IP du visiteur et non du serveur

Posté : 21 févr. 2015, 16:57
par racacax
Sisi, regarde ce lien http://www.dailymotion.com/json/video/k ... ve_hls_url Récupére l'URL obtenue à l'intérieure et ouvre là avec VLC

Re: Afficher un doc avec l'IP du visiteur et non du serveur

Posté : 21 févr. 2015, 17:12
par tof73
Votre média d'entrée ne peut être ouvert:
VLC ne peut pas ouvrir « http:\/\/www.dailymotion.com\/cdn\/live\/video\/x13p3qi?protocol=hls&auth=1424704146-2562-2vzgyffx-102412269e508a2edaae678a0602849e ». Vérifiez les messages pour plus de détails.
Votre média d'entrée ne peut être ouvert:
VLC ne peut pas ouvrir « http://www.dailymotion.com/cdn/live/vid ... 69281c7163 ». Vérifiez les messages pour plus de détails.
Votre média d'entrée ne peut être ouvert:
VLC ne peut pas ouvrir « http://www.dailymotion.com/cdn/live/vid ... 69281c7163 ». Vérifiez les messages pour plus de détails.

c'est le protocole http qu'il faut utiliser ?

Re: Afficher un doc avec l'IP du visiteur et non du serveur

Posté : 21 févr. 2015, 17:27
par tof73
j'avais mis le bout de code php sur un serveur web, et cela n'a pas fonctionné.
j'ai ouvert dans mon navigateur http://www.dailymotion.com/json/video/k ... ve_hls_url et j'ai ouvert l'url incluse dans le json dans vlc, et là, cela a fonctionné.
le code d'autorisation doit donc verifier l'ip du demandeur.

Re: Afficher un doc avec l'IP du visiteur et non du serveur

Posté : 21 févr. 2015, 17:44
par racacax
C'est pour cela que j'utilise un proxy (voir code un peu plus haut)

Re: Afficher un doc avec l'IP du visiteur et non du serveur

Posté : 02 mars 2015, 20:48
par racacax
Une idée ?