Мне было интересно, есть ли способ превратить мой сайт в прокси-сервер. Я нашел много скриптов с использованием PHP, но все они требуют перехода на сайт, чтобы использовать
прокси, но я действительно хочу, это сценарий, который позволяет мне получить доступ к сайту через конфигурацию браузера, например, в Firefox, когда вы вводите IP-номер и номер порта в диалоговом окне параметров, есть ли какие-либо скрипты, которые это делают?
любые ссылки могут помочь мне быстро по этому вопросу приветствуются.
Спасибо,
AB
(и многое другое, попросите Google)
Это прокси-программное обеспечение, которое вы ищете? Просто HTTP-прокси в PHP.
Перенаправьте ваш адаптер на ip и порт этого компьютера, его синхронный, хотя он будет медленным.
$addr = gethostbyname('0.0.0.0'); //ip sensitive :(( $server = stream_socket_server("tcp://" . $addr . ":8000", $errno, $errorMessage); echo "connected to: $addr:8000"; if ($server === false) { throw new UnexpectedValueException("Could not bind to socket: $errorMessage"); } $conns = array( $server ); // connections $connection = 0; // loop forever for (;;) { $reads = $conns; // get number of connections with new data $mod = stream_select($reads, $write, $except, 5); if ($mod===false) break; // I have no idea what this does but what im doing here is separating the client ip and port from server 1:1 only! foreach ($reads as $read) { if ($read===$server) { // if a client is connected if ($client = @stream_socket_accept( $server )) { echo "\nconnection from " . stream_socket_get_name( $client, true ) . "\n"; $recv = fread($client, 1024); $rec_arr = explode( ' ', $recv ); echo hex_dump($recv); if(strpos($recv, "CONNECT ")!==0) { if( $src = @fopen( $rec_arr[ 1 ], 'rb') ) { while ($chunk = fread($src, 1024000)) { @fwrite( $client, $chunk ); } $chunk = ""; fclose( $src ); } } stream_socket_shutdown($client, STREAM_SHUT_RDWR); } } } } function hex_dump($data, $newline="\n") { $from = ''; $to = ''; $width = 16; # number of bytes per line $pad = '.'; # padding for non-visible characters if ($from==='') { for ($i=0; $i<=0xFF; $i++) { $from .= chr($i); $to .= ($i >= 0x20 && $i <= 0x7E) ? chr($i) : $pad; } } $hex = str_split(bin2hex($data), $width*2); $chars = str_split(strtr($data, $from, $to), $width); $offset = 0; foreach ($hex as $i => $line) { $line = strtoupper( $line ); echo sprintf('%6X',$offset).' : '.implode(' ', str_split($line,2)) . ' [' . $chars[$i] . ']' . $newline; $offset += $width; } }