moder
Администратор
Команда форума
Для установки Tor для Lenny нужно выполнить команду:
apt-get install tor tor-geoipdb
После установки должен быть открыт 9050-ый порт. Для проверки создаём файлик test.php, с кодом:
Видно, что IP успешно подменился. Но остаётся при обновлении страницы. После прочтения манулов по Tor, выясняется, что им можно управлять. Для этого лезем в конфиг:
И меняем следующее:
ControlPort 9051 — разрешаем управлять tor на порту 9051.
SocksListenAddress по умолчанию localhost — означает что tor принимает только соединения с localhost. Для «внешнего» доступа можно поставить 0 или перечислить хосты.
Перезапускаем tor:
Если
netstat -na
даёт порты 9050 и 9051 в состоянии LISTENING — всё сделали верно.
Ну и теперь мы можем менять промежуточные звенья по принуждению по 9051 порту:
https://habr.com/ru/sandbox/38998/
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;
?>
Видно, что IP успешно подменился. Но остаётся при обновлении страницы. После прочтения манулов по Tor, выясняется, что им можно управлять. Для этого лезем в конфиг:
PHP:
nano /etc/tor/torrc
ControlPort 9051 — разрешаем управлять tor на порту 9051.
SocksListenAddress по умолчанию localhost — означает что tor принимает только соединения с localhost. Для «внешнего» доступа можно поставить 0 или перечислить хосты.
Перезапускаем tor:
PHP:
/etc/init.d/tor restart
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
}
?>