Migaproxy : proxy en php compilable avec bamcompile

Contenu du snippet

Ce proxy supporte les methode POST et GET

il est en version squelette car il souffre de quelque lenteur

Source / Exemple :


<?php
/*

  • Migaproxy par Migadesktop *
  • Mek-in-gold@live.fr *
  • /
// PS : Cette source est compilable en executable avec bamcompile // vous trouverez bamcompile sur http://www.bambalam.se/bamcompile/ set_time_limit(0); echo "MigaProxy Version squelette\n"; $host = "L'ip d'ordinateur ou vous execute ce proxy"; $port = 8080; while(1) { // creation d'une socket d'ecoute $socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n"); // bind de la socket sur le port 8080 $result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n"); // ecoute de la socket $result = socket_listen($socket, 3) or die("Could not set up socket listener\n"); // la socket accepte la conection $spawn = socket_accept($socket) or die("Could not accept incoming connection\n"); // lecture des donéee envoyé par le navigateur $input = socket_read($spawn, 1024) or die("Could not read input\n"); // extration dans la requete du navigateur de l'url demander et de la methode GET ou POST $subject = substr($input,0,strpos($input,"HTTP")); if (eregi('GET', $subject)) { echo "\n Methode : GET\n"; $subject = substr ($subject,4,strlen($subject)); } else { echo "\n Methode : POST\n"; $subject = substr ($subject,5,strlen($subject)); } preg_match('@^(?:http://)?([^/]+)@i', $subject, $matches); // envoi de la requete du navigateur au serveur web concerné et ecoute de sa reponse // P.S : probleme d'incompatibilité avec google dans cette version echo "\nserveur : \n(".$matches[1].")\n"; echo "\nrequete : \n(".$input.")\n"; if ($matches[1]!="www.google.fr" && $matches[1]!="www.google.com") { $web = fSockOpen($matches[1], 80, $codeErreur, $msgErreur, 1); fputs($web,$input); $reponse=""; while (!feof($web)) { $reponse.=fgets($web, 128); } fclose($web); } else { $reponse="<H1>Google n'est pas pris en charge par Migaproxy , veuillez attendre une version compatible!"; } echo "\nserveur : \n(".$reponse.")\n"; // envoie de la reponse du serveur web demandé par le navigateur au navigateur client socket_write($spawn, $reponse, strlen ($reponse)) or die("Could not write"); socket_close($spawn); socket_close($socket); echo "\nRequete Terminer!\n"; } ?>

Conclusion :


voila des idée d'optimisation sont les bienvenue

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.