pproxy - прокси на PHP

Discussion in 'Избранное' started by bons, 24 Nov 2008.

  1. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Поправка: бесплатные хостинги.

    Платные никогда не отключают, т.к. сабж нужен большинству пользователей, которых им не хотелось бы терять.
     
  2. serfertty

    serfertty Guest

    Reputations:
    0
    Да.Но лучше всего ставить прокси на шелл.Т.к. в случае чего хостинги отдадут логи компетентным органам.
     
  3. bons

    bons Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    286
    Likes Received:
    121
    Reputations:
    21
    обновил plocal.pl, теперь LWP не используется.
    Файл отдается клиенту по мере загрузки, т.е. памяти расходуется меньше.
    Старую версию можно найти здесь: http://slil.ru/26436538
     
    1 person likes this.
  4. zic

    zic New Member

    Joined:
    4 Apr 2003
    Messages:
    6
    Likes Received:
    2
    Reputations:
    0
    Здравствуйте, а не подскажете как можно оптимизировать клиентскую часть, а именно plocal.pl чтоб была возможность хождения через прокси?

    Ситуация следующая на работе закрыты все порты кроме 80, 21, 443, Интернет раздаётся через ISA-2007.... вот и есть нужда её обойти... ранеше делали тунель через SSH но по некоторым причинам перестали использовать.... так вот ближе к теме как сделать так чтоб клиенская часть ходили через местную проксю? ибо хоть и есть default getwey но там только 21 порт открыт....

    Очень расчитываю на вашу помощь.... за ранее спасибо!
     
    1 person likes this.
  5. bons

    bons Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    286
    Likes Received:
    121
    Reputations:
    21
    могу посоветовать NTLM Authorization Proxy Server (написан на python)
    например если настроить его на порт 5865 локалхоста то plocal надо запускать так:
    perl plocal.pl -px http://site.com/pproxy.php -tpx http://localhost:5865

    скачать:
    http://sourceforge.net/projects/ntlmaps/
    мануал по его настройке тут:
    http://www.linux.com/base/ldp/howto/Web-Browsing-Behind-ISA-Server-HOWTO-4.html
     
    #25 bons, 25 Dec 2008
    Last edited: 25 Dec 2008
    1 person likes this.
  6. zic

    zic New Member

    Joined:
    4 Apr 2003
    Messages:
    6
    Likes Received:
    2
    Reputations:
    0
    Огромное тебе спасибо, за твои старания, перенёс всё это на linux(CentOS 5.2) единственное пришлось обновить Phyton, всё заработало..... ещё раз огромное спасибо!!!


    P.S. А вот не мог бы ты ещё вот с какой вещью помоч, на linux'е реальзовал всё отлично работает, а вот как теперь сделать чтобы XP WORKSTATIONS могли ходить через linux по 8008 порту....

    Ну грубо говоря чтоб была такая схема comp1(XP)->comp2(Linux, proxy 172.29.5.100:8008)->target

    Или к примеру QIP настроенный на proxy HTTP 172.29.5.100:8008

    Просто такое подозрение что никсовая машина не пускает к себе....
     
    #26 zic, 26 Dec 2008
    Last edited: 26 Dec 2008
  7. bons

    bons Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    286
    Likes Received:
    121
    Reputations:
    21
    Для того чтобы plocal.pl разрешал подключение к себе не только с локалхоста надо удалить в нем строчку, отмеченную красным:
    Code:
    ...
    my $master = HTTP::Daemon->new(	LocalPort => $bindport,
    				[COLOR=Red]LocalAddr => 'localhost',[/COLOR]
    				Reuse=>1)
    || die "Can't start server ($@)";
    ...
    Но QIP запустить через pproxy не получится так как для него необходим HTTPS прокси, поддержки которого пока нет.
     
    1 person likes this.
  8. Spyder

    Spyder Elder - Старейшина

    Joined:
    9 Oct 2006
    Messages:
    1,388
    Likes Received:
    1,209
    Reputations:
    475
    если есть возможность - лучше переписать локальный скрипт на использование потоков, а не форков, производительность повысится
     
    9 people like this.
  9. bons

    bons Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    286
    Likes Received:
    121
    Reputations:
    21
    торрент-клиенту нужен HTTPS прокси

    для тестов делал версию с модулем threads но ощутимого прироста производительности это не дало плюс еще скрипт стал иногда вылетать. Тем более для windows например эмуляция fork сводится к созданию потока причем не факт что это медленнее или занимает больше ресурсов чем через threads
    вот версия с потоками - http://slil.ru/26500515
     
  10. DVD_RW

    DVD_RW Banned

    Joined:
    27 Apr 2008
    Messages:
    0
    Likes Received:
    202
    Reputations:
    -36
    а у мну траблы с кодировкой... %)
     
  11. bons

    bons Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    286
    Likes Received:
    121
    Reputations:
    21
    попробуй дописать в pproxy.php строку:
    Code:
    <?php
    
    //$secret = 'pproxypass';
    
    if(isset($_POST['query']) && isset($_POST['host']))
    {
        [COLOR=Red]header('Content-type: application/octet-stream');[/COLOR]
    ...
    если это не поможет то дай пожалуйста больше информации о проблеме: как выглядит заголовок ответа веб-сервера с pproxy, в какой кодировке приходит страница, каким браузером пользуешься
     
    1 person likes this.
  12. bons

    bons Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    286
    Likes Received:
    121
    Reputations:
    21
    когда будет время напишу версию pproxy для SOCKS.
    Но m0Hze, ты уверен что в твоем случае нужно именно туннелирование через HTTP? Ведь это необходимо если файрволл запрещает открыть порт для прослушивания на сервере, а иначе подойдет обычный прокси, например 3proxy.
     
    1 person likes this.
  13. bons

    bons Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    286
    Likes Received:
    121
    Reputations:
    21
    в Сети полно манов по по этому случаю
    допустим 3proxy-0.5.3k.tgz - архив с 3proxy

    распаковываешь и компилишь:
    Code:
    tar xvf 3proxy-0.5.3k.tgz
    make -f Makefile.unix
    cd src
    создаешь папке src файл proxy.cfg с содержимым
    Code:
    socks -p55554
    запускаешь 3proxy фоновым процессом:
    Code:
    ./3proxy proxy.cfg >/dev/null &
    все файлы кроме 3proxy и proxy.cfg можно удалить, а эти лучше бы назвать по-другому
     
  14. bons

    bons Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    286
    Likes Received:
    121
    Reputations:
    21
    3proxy будет принимать подключения клиентов и 4-ой и 5-ой версий. По 55554 порту
     
  15. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    Интересная тема. Тоже как-то делал такое. Прокси был на php, локальный туннель - на Delphi. Только у меня основной задачей было сжатие трафика. Использовал gzip. Для браузеров прозрачно, даже распаковывать не надо. В туннеле настраивалось качество картинок (если надо, прокси сжимал и их, понижая качество). Вместо swf подсовывалась заготовленная флэшка с надписью "BLOCKED BY PROXY". Да, еще прокси в хидерах передавал реальный и сжатый размер страницы, чтобы клиент мог вести статистику экономии. Это я так, может захочешь что-то подобное сделать
     
  16. AkyHa_MaTaTa

    AkyHa_MaTaTa Elder - Старейшина

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    Да, класная вешь, афтору респект, вот если бы была возможность запускать socks - вообше бы цены не было.
     
  17. geezer.code

    geezer.code Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    552
    Likes Received:
    358
    Reputations:
    90
    в данный момент переношу на .NET
     
  18. AkyHa_MaTaTa

    AkyHa_MaTaTa Elder - Старейшина

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    Самый тупой вариант - проснифать что куды идет.
    Меня поразила одна вешь при отключеном js как то палиться мой USER AGENT, так и должно быть?
     
    1 person likes this.
  19. AkyHa_MaTaTa

    AkyHa_MaTaTa Elder - Старейшина

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    по всей видимости передаеться 2 user agenta последний из которых реальный, поэтому "Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4" игнорируеться, хотя это только предположения.
     
  20. AkyHa_MaTaTa

    AkyHa_MaTaTa Elder - Старейшина

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    не, передаеться реальный USER AGENT:
    PHP:

        
    print &TranslateTimeHour($time_end), "   "$host,
                
    " (", &TranslateTime($time_end $time_start),
                
    ")\n"$http;