- <?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";
- }
- ?>
<?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";
}
?>