Зачастую нужно обратиться с ip Сервера на конкретный адрес url, либо еще какие-то операции. Ну, или просто поменять ip. Простой прокси выглядит так: Code: echo file_get_contents($_GET['q']); $content=file_get_contents("http://mett.pro/proxy.php?=".$url); Работает через функцию file_get_contents, которая вызывается get запросом. Точнее мы просто загружаем страницу через сервер... Ну а теперь рассмотрим более сложный вариант: 1. Для начала создадим файл proxy.php далее создадим формочку для ввода запроса: Code: <title>PHP Proxy</title> <div align="center"> <form id="form" name="form" method="get" action=""> Введите ссылку: <input name="q" type="text" size="100" /> <br /> <input type="submit" value="Войти" /> </form> </div> <hr> 2. Теперь начинаем кодить на php. Пишем после созданной формы Code: <? if($_GET['q']) //если существует ссылка { $site=file($_GET['q']); //получаем содержимое сайта по ссылке и пихаем в переменную $site for($i=0; $i < count($site); $i++) { echo $site[$i]; //выводим в цикле каждую строку сайта } } ?> 3. Сохраняем и переходим по ссылке http://ваш_сайт.ру/proxy.php Вводим в форму например http://google.ru, должен загрузиться сайт без картинок и ссылки не должны работать (естественно на стороне сервера должен быть внешний доступ ) Работает? Если нет, то пробуйте все сначала. Если да, то идем дальше: 4. Что же нужно сделать далее? Загрузить картинки и сделать ссылки на сайтах работающими. Используя функцию str_replace, сделаем замену всех ссылок и путей. Добавим в код в цикл for: Code: $url = parse_url($_GET['q']); //получаем хост с ссылки $host = 'http://'.$url['host'].'/'; //добавляем к ней http:// и путь / $link = array('href="', 'src="', 'action="'); //Суем в массив $link возможные параметры, где указывается путь $replace = array('href="http://ваш_сайт.ру/proxy.php?q='.$host, 'src="http://ваш_сайт.ру/proxy.php?q='.$host, 'action="http://ваш_сайт.ру/proxy.php?q='.$host); //То на что нужно заменить вышеуказанные параметры $site[$i] = str_replace($link, $replace, $site[$i]); //производим замену и пихаем в массив $site[$i] В итоге должно получиться так: <title>PHP Proxy</title> <div><form method="get"> Введите ссылку: <input name="q"> </form></div> <hr /> + На данный момент имеется уже куча готовых скриптов по реализации php proxy с уже замененными путями и тд, например https://www.glype.com/
Интересная статья, я обычно через http://translate.google.com/ захожу как прокси http://lifehacker.ru/2013/07/19/google-proxy/
Хреново то - что переходить по ссылкам нельзя !!! а так делал когда то вот код накидал, всё работает, ssl открывает, видео на ютюбе проигрывается перебрасывает он при клике, если кликаем на главной странице ютюба по видео - то добавляет окончание watch?v=WlVh2E6P-3Q к моему домену, или в поиске набрать что либо, нужно что бы он его проксировал PHP: <?php if($_POST['open']) { $_POST['url'] = htmlspecialchars(stripslashes($_POST['url'])); $urls_form = $_POST['url']; header('Content-Type: text/html; charset=utf-8'); ini_set('user_agent', "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2\r\nX-MyCustomHeader: Browser"); $opts = array( 'http'=>array( 'method'=>"GET", 'header'=>"Accept-language: en\r\n" . "Cookie: login=xxx; pass=xxx\r\n" ) ); $context = stream_context_create($opts); $fp = fopen($urls_form, 'r', false, $context); fpassthru($fp); fclose($fp); $form = ' <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <form method="post"> <label for="url">URL:</label> <input type="text" name="url" value="'.$urls_form.'" id="url"> <input type="submit" name="open" value="открыть"> </form>'; echo '<p>'.$form.'</p><hr><br><br></html>'; exit(); } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <form method="post"> <label for="url">URL:</label> <input type="text" name="url" value="" id="url"> <input type="submit" name="open" value="открыть"> </form> </html> смотрел скрипты анонимайзеров слишком они наворочены куча кода
Исходники к нему похерены (якобы) и софт уже корректно не работает - ошибки с https (не открывает их). (есть мнение, что wonted продал исходники в приват) Серт зашит намертво, если найдется гений-дебаггер, который исправит - будет работать. А иначе - бесполезная штуковина. Сам использовал, года 2 назад, с обилием шеллов это была сказка
Glype - это self-hosted скрипт, т.е. ставится на сервер. Ну и следствие этого - работа через браузер. Вопрос был в том, что нет готовых альтернатив в том плане, что десктопного софта, с цепочками, миксованием трафа и возможностью замены стандартного хука прокси в системе.