Ответить в теме

[QUOTE="moder, post: 9010, member: 1"]

Для установки Tor для Lenny нужно выполнить команду:


apt-get install tor tor-geoipdb


После установки должен быть открыт 9050-ый порт. Для проверки создаём файлик test.php, с кодом:


[PHP]<?php


functionget($url,$proxy){

        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL,$url);

        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');

        curl_setopt($ch, CURLOPT_PROXY, "$proxy");

        $ss=curl_exec($ch);

        curl_close($ch);

        return $ss;

}




      $prox = 'ip_вашей_машины или localhost:9050';

      $a=get('internet.yandex.ru',$prox);

      echo $a;


?>[/PHP]




Видно, что IP успешно подменился. Но остаётся при обновлении страницы. После прочтения манулов по Tor, выясняется, что им можно управлять. Для этого лезем в конфиг:


[PHP]nano /etc/tor/torrc[/PHP]


И меняем следующее:


ControlPort 9051 — разрешаем управлять tor на порту 9051.

SocksListenAddress по умолчанию localhost — означает что tor принимает только соединения с localhost. Для «внешнего» доступа можно поставить 0 или перечислить хосты.


Перезапускаем tor:


[PHP]/etc/init.d/tor restart[/PHP]


Если

netstat -na


даёт порты 9050 и 9051 в состоянии LISTENING — всё сделали верно.


Ну и теперь мы можем менять промежуточные звенья по принуждению по 9051 порту:

[PHP]<?php

/**

* Меняем звено tor

**/

functiontor_new_identity($tor_ip='127.0.0.1', $control_port='9051', $auth_PHP=''){

    $fp = fsockopen($tor_ip, $control_port, $errno, $errstr, 30);

    if (!$fp) return false; // не можем законнектицца на порт управления


    fputs($fp, "AUTHENTICATE $auth_PHP\r\n");

    $response = fread($fp, 1024);

    list($PHP, $text) = explode(' ', $response, 2);

    if ($PHP != '250') return false;


    // шлём запрос на смену звена

    fputs($fp, "signal NEWNYM\r\n");

    $response = fread($fp, 1024);

    list($PHP, $text) = explode(' ', $response, 2);

    if ($PHP != '250') return false;


    fclose($fp);

    return true;

}


if (tor_new_identity('127.0.0.01', '9051')) {

  // здесь код получения странички через tor

}

?>[/PHP]


https://habr.com/ru/sandbox/38998/

[/QUOTE]

Сверху