да, в логах веб-сервера где лежит pproxy будет User-Agent указанный в перловом скрипте. Code: my $user_agent = 'Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4'; В логах целевого веб-сервера, к которому идет запрос, останется User-Agent браузера без изменений. Изменить его можно например с помощью плагинa для firefox (Modify Headers). Также легко изменить User-Agent браузера дописав в plocal.pl одну строчку после комментария "#Преобразование HTTP заголовка": Code: $request -> header('User-Agent' => 'Opera/9.62 (X11; Linux i686; U; ru) Presto/2.1.1'); в таком случае для веб-сервера который используется как прокси это будет firefox а для целевого веб-сервера - opera. Но если так сделать при использовании цепочки то это будет opera для всех элементов цепочки кроме первого.
Сенкс, я уже догнал, еше бы подержку ssl(https) вообше было бы класс, для этого как я понял нужно включить поддержку носков, извините что повторяюсь .
Напишу локальную часть скрипта на С или паскале но вряд ли смогу взяться за это раньше чем через пару недель. То же самое и про SOCKS версию.
кстати в пхп сервере можно и увеличить было бы время отводимое на конект, на некоторых серваках оно по дефолту так сказать не большое и связь просто режеться: PHP: if($fp = fsockopen($ip, $port,$errno, $errstr, 30))
Вроде ды передоваемые данные идут в base64_encode, если писать какой то алгоритм шифровки с помошью ключа то это соответсвенно уменьшит быстродействие. По поводу vpleer.ru и мой shinobi.org.ru - то у меня они грузяться нормально(и работают), наверно какие то траблы у тебя с сервером где лежит скрипт-сервер на пхп.
Для работы с pproxy.php через proxy_rd вот такой конфигурационный скрипт подходит PHP: function proxy_rd(...) { char *header; char *header2; char *temp; char *temp2; char *post; header = NULL; header2 = NULL; post = NULL; *rdhost = dup("localhost"); //*rdport = dup("3129"); add(&header2, "POST http://localhost/lab/pproxy.php HTTP/1.0\r\n"); add(&header2, "Host: localhost\r\n"); //add(&header2, "Proxy-Connection: close\r\n"); add(&header2, "Connection: close\r\n"); add(&header2, "Content-Type: application/x-www-form-urlencoded\r\n"); add(&header, method); add(&header, " "); add(&header, uri_relative); add(&header, " "); add(&header, protocol); add(&header, "\r\n"); add(&header, "Connection: close\r\n"); if(!isempty(h_host_port)) { add(&header, "Host: "); add(&header, h_host_port); add(&header, "\r\n"); } if(!isempty(h_cache_control)) { add(&header, "Cache-Control: "); add(&header, h_cache_control); add(&header, "\r\n"); } if(!isempty(h_pragma)) { add(&header, "Pragma: "); add(&header, h_pragma); add(&header, "\r\n"); } if(!isempty(h_accept)) { add(&header, "Accept: "); add(&header, h_accept); add(&header, "\r\n"); } if(!isempty(h_accept_lang)) { add(&header, "Accept-Language: "); add(&header, h_accept_lang); add(&header, "\r\n"); } if(!isempty(h_accept_charset)) { add(&header, "Accept-Charset: "); add(&header, h_accept_charset); add(&header, "\r\n"); } if(!isempty(h_if_mod_since)) { add(&header, "If-Modified-Since: "); add(&header, h_if_mod_since); add(&header, "\r\n"); } if(!isempty(h_if_none_match)) { add(&header, "If-None-Match: "); add(&header, h_if_none_match); add(&header, "\r\n"); } if(!isempty(h_referer)) { add(&header, "Referer: "); add(&header, h_referer); add(&header, "\r\n"); } if(!isempty(h_user_agent)) { add(&header, "User-Agent: "); add(&header, h_user_agent); add(&header, "\r\n"); } if(!isempty(h_authorization)) { add(&header, "Authorization: "); add(&header, h_authorization); add(&header, "\r\n"); } if(!isempty(h_range)) { add(&header, "Range: "); add(&header, h_range); add(&header, "\r\n"); } if(!isempty(h_content_type)) { add(&header, "Content-Type: "); add(&header, h_content_type); add(&header, "\r\n"); } if(!isempty(h_content_length)) { add(&header, "Content-Length: "); add(&header, h_content_length); add(&header, "\r\n"); } if(!isempty(h_cookie)) { add(&header, "Cookie: "); add(&header, h_cookie); add(&header, "\r\n"); } add(&header, h_unknown); add(&header, "\r\n"); add(&post, "host="); temp = dup(host); add(&temp, ":"); add(&temp, isempty(port)?"80":port); temp2 = encode(temp); add(&post, temp2); free(temp); free(temp2); add(&post, "&query="); temp = encode(header); add(&post, temp); free(header); free(temp); add(&header2, "Content-Length: "); temp = dupn(strlen(post)); add(&header2, temp); free(temp); add(&header2, "\r\n\r\n"); add(&header2, post); free(post); //msg("debug message", header); return header2; }
Интересно, как ты себе представляешь HTTPS через HTTP? Ты хотя бы понимаешь как работают данные протоколы?
Выложил последнюю версию proxy_rd. Для скачивания будет доступна до 20 февраля. http://www.pfzim.ru/download.php?id=9
про https ничего не могу сказать, т.к изначально писал SOCKS-версию, которая почти готова. Там надо исправить пару багов (не знаю сколько времени на это уйдет) и тщательно протестировать. Если сильно нужно могу скинуть альфу, которая более или менее работоспособна. Почему бы тебе не заюзать альтернативы например HTTPTunnel, в любом случае функционала там больше. pproxy, изменено: увеличен таймаут коннекта к серверу (см тут) тип данных от прокси теперь application/octet-stream (см тут) исправлен баг связанный с неправильным приемом данных в plocal.pl в случае фрагментации http заголовка ответа от pproxy
у меня просто белые страницы отображаются, в чем может быть дело? в исходниках первого поста ничего не менял
значит pproxy.php не может установить соединение с сервером. добавил в plocal.pl вывод сообщений об ошибках скинул в личку
Щас тестировал на трёх серваках Залил на первый хост, действую по инструкции, в браузере ввожу полученный прокси, перехожу на любую ссылку и на дисплее пару картинок, предложение создать свой сайт, вообщем это сообщение от хостера на котором висит pproxy Ну решил я что проблемма в хосте, залил pproxy на другой хост, включаю прокси, перехожу на любую страницу и открывается PHP info сайта на котором я повесил pproxy Попытка номер 3, залил я pproxy на третий хост, включил прокси, перехожу на любую страницу и мне выдаёт: это происходит если конектюсь к 80 порту а если к 8008, то белые страници, хотя plocal.pl ошибок не выдаёт
Все зависит от настроек сервака, но то что ты палешься когда обращаешься к скрипту это да(можно конечно испоьзовать цепочку, но все равно на 1 хосте палево), а насчет того куда уже скрипт конекты дает - это уже зависит от того как сервак настроен,есн под таким прокси никто и не собираеться ломать сайт пентагона. Bons скинь плизь в ЛС эту версию с socks.
Да для взлома это не вариант... Зато можно как пол ачата, через нее акки для вконтакте брутить, круто же!!1111
у мну вопрос непосредственно экспертам или тем, кто в этом шарит Спасибо автору кстати за такой скрипт ( год искал) наш пров дает интернет и оплата за потраченные трафик, но есть такие сайты (провайдерские), к которым доступ бесплатен там есть большой форум (кажется на движке этого же форума) есть почта, чат, много игровых серверов так вот собственно и вопрос можно ли ту удаленную часть, как то внедрить на удаленный сайт? потом подключаться к нему и траф будет бесплатный и еще как запустить ту часть на перле если у мя виндоус виста? нада скачать какую то прогу для создания среды "перл"? если кто поможет с решением этого вопроса в долгу не останусь а если кто напишет подобную штуку индвидуально к нашему прову и покажет что действительно пашет куплю за ххх сумму