[Linux] Как сменить IP адрес в TOR

Автор: anon
05.10.2012 16:30

Обычно tor пропускает новые соединение через одну цепочку не более 10 минут. Этот показатель задается в конфигурационном файле опцией MaxCircuitDirtiness. Но иногда хочется точнее контролировать это действие, например для скриптов.

 

Это можно сделать через GUI приложение вроде Vidalia, можно настроить управляющее соединение и сменить личину через него. Но самый простой способ сделать это - послать сигнал HUP процессу tor. Выглядит это примерно так:

sudo kill -1 `pidof tor`

Таким образом можно легко интегрировать быструю смену IP адресов в свой скрипт. Также, если скрипт будет это делать действительно часто, имеет смысл уменьшить параметр NewCircuitPeriod, отвечающий за частоту формирования чистых цепочек.

Код на php для того, чтобы сделать это через контрольный порт:

    public $controlPort = '9051';
    public $pass        = '';
 
    protected function newIp()
    {
        $fp = fsockopen($this->ip, $this->controlPort, $errno, $errstr, 30);
        if (!$fp)
            return false; //can't connect to the control port
 
        $auth_code = $this->pass;
        if ( !empty($auth_code) )
            $auth_code = '"' . $auth_code . '"';
 
        fputs($fp, "AUTHENTICATE $auth_code\r\n");
        $response = fread($fp, 1024);
        list($code, $text) = explode(' ', $response, 2);
        if ($code != '250')
            return false; //authentication failed
 
        //send the request to for new identity
        fputs($fp, "signal NEWNYM\r\n");
        $response = fread($fp, 1024);
        list($code, $text) = explode(' ', $response, 2);
        if ($code != '250')
            return false; //signal failed
 
        fwrite($fp, "QUIT\r\n");
        fgets($fp, 128);
 
        fclose($fp);
        return true;
    }

Обновлено 08.02.2013 19:37

 

Комментарии  

 
#1 Александриус 30.08.2015 04:06
Быстрая смена IP http://altvpn.com/55e1e49d649e8.html
Цитировать
 
 
#2 lord 17.05.2016 20:00
azaza
Цитировать
 
 
#3 Wilda 16.05.2017 00:19
I'm so happy to read this. This is the kind of manual that needs to be given and not the random misinformation that is at the other blogs.

Appreciate your sharing this greatest doc.
Цитировать
 

Добавить комментарий


Защитный код
Обновить