Sheensay → Серверная → Tor

Tor

25.09.2021

Качественный хостинг с удобной панелью управления. 1 месяц бесплатно


  • Что такое Tor
  • Как установить Tor в Windows
  • Как установить Tor в Windows в роли прокси
  • Как настроить прокси Tor для Google Chrome
  • Как настроить Tor в Windows в роли службы
  • Установка Tor в Debian, Ubuntu (linux)
  • Как перезагрузить Tor
  • Как проверить работу Tor
  • Как запустить несколько экземпляров Tor с разными IP одновременно
  • Как добавить Tor в автозагрузку
  • Как менять IP в Tor через консоль SSH
  • Как использовать Tor как прокси через PHP и менять свой IP (готовый класс)
  • Как выходить из Tor под определённым GEO IP
  • Как разрешить строго определённые страны GEO IP
  • Как запретить строго определённые страны GEO IP

Что такое Tor

Tor — это распределённая сеть прокси-серверов. С помощью Tor можно маскировать и подменять свой реальный IP, чтобы обходить блокировки и другие подобные ограничения.

Официальный сайт Tor

На официальном сайте можно скачать браузер на основе Firefox, который с помощью сети распределённых прокси-серверов позволяет анонимно серфить в интернете. Ниже будет описан способ использовать Tor в роли прокси для php curl.

Как установить Tor в Windows

Если вам нужно использовать Tor только для сёрфинга в интернете, то будет достаточно скачать браузер Tor.

Как установить Tor в Windows в роли прокси

Также, есть возможность установить сам проксер Tor, без браузера. Этот вариант позволит использовать его в роли прокси для любой программы, которая поддерживает прокси. Например, можно настроить Tor в роли прокси для Google Chrome или Mozilla Firefox.

  1. Переходим в Downloads — скачиваем Windows Expert Bundle
  2. Создаём каталог C:\Tor\, туда распаковываем содержимое архива (в архиве 2 каталога: Data и Tor)
  3. Создаём файл C:\Tor\Data\Tor\torrc, пишем в него:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    DataDirectory Tor # Каталог с рабочими файлами Tor
    GeoIPFile geoip # Каталог с IPv4
    GeoIPv6File geoip6 # Каталог с IPv6
     
    AvoidDiskWrites 1 # Проводить меньше операций с диском
     
    SocksPort 9050 # Порт для работы Tor
     
    ControlPort 9051 # Порт для контроля
    CookieAuthentication 0 # Отключаем авторизацию на контрольный порт
  4. На рабочем столе создаём Ярлык (чтобы запускать Tor) со следующим расположением объекта: C:\Tor\Tor\tor.exe -f "C:\Tor\Data\Tor\torrc"

Теперь Можно запустить Ярлык, и если всё верно, увидите следующее:

Отлично! Tor работает в роли прокси по адресу: socks5h://127.0.0.1:9050 (помните порт SocksPort из настроек? Его можно менять на своё усмотрение, впрочем как и порт контроля ControlPort).

Можно запускать много экземпляров Tor одновременно, сделав несколько подобных примеру выше каталогов, главное чтобы они работали на разных портах.

Как настроить прокси Tor для Google Chrome

У Google Chrome нет отдельного профиля для работы с прокси, поэтому настройка будет затрагивать глобальное подключение к интернету. Проще говоря, все запросы в интернет через любые программы будут идти через Tor прокси

Чтобы трафик Google Chrome прогонять через прокси Tor, достаточно сделать следующее:

  1. Открываем настройки Google Chrome chrome://settings/
  2. Отматываем страницу настроек до конца и открыть раздел Дополнительные
  3. В разделе Система находим ссылку Настройки прокси-сервера
  4. В открывшемся окне переходим к настройке сети
  5. Сохраняем все изменения. Проверить работу прокси можно на странице https://check.torproject.org/. Если всё настроено верно, увидите надпись: Congratulations. This browser is configured to use Tor.

Как настроить Tor в Windows в роли службы

Чтобы не запускать каждый раз Ярлык, можно настроить Tor в роли службы Windows.

Для этого достаточно:

  1. Открыть командную строку: Win+R — cmd

  2. Прописать туда:
    1
    C:\Tor\Tor\tor.exe --service install -options -f "C:\Tor\Data\Tor\torrc"

Служба установлена. Чтобы управлять ею в дальнейшем, можно создать ярлыки под следующие команды:

  • Старт службы Tor
    1
    C:\Tor\Tor\tor.exe --service start
  • Остановка службы Tor
    1
    C:\Tor\Tor\tor.exe --service stop

Или управлять службой через Проводник:
Открыть командную строку: Win+R — команда services.msc

Чтобы удалить сервис, достаточно воспользоваться командой:

1
C:\Tor\Tor\tor.exe --service remove

Установка Tor в Debian, Ubuntu (linux)

В консоль SSH пишем команду, которая установит Tor, если он ещё не установлен, к нам на сервер:

1
apt update
1
apt install tor

Чтобы проверить успешность установки Tor, можно воспользоваться командой:

1
curl --socks5 localhost:9050 --socks5-hostname localhost:9050 -s https://check.torproject.org/ | cat | grep -m 1 Congratulations | xargs

Если всё нормально, увидите строку:
Congratulations. This browser is configured to use Tor.

Теперь нужно отредактировать файл конфигурации Tor:

1
nano /etc/tor/torrc

Просто добавьте в любом месте в файл (например, в начало) 2 строки и сохраните изменения:

1
2
ControlPort 9051 # порт для контроля
CookieAuthentication 0 # не использовать куки для контроля авторизации

Затем перезагружаем Tor

Как перезагрузить Tor

1
service tor restart

Как проверить работу Tor

1
torsocks wget -qO - https://api.ipify.org; echo

В результате, вы увидите IP, с которого вас видит внешний сервис или сайт. Если он отличается от адреса сервера, значит всё в порядке.

Как запустить несколько экземпляров Tor с разными IP одновременно

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

  • Создаём /etc/tor/torrc.9052:
    1
    nano /etc/tor/torrc.9052
  • Прописываем внутри:
    1
    2
    3
    4
    SocksPort 9052 # Порт, на котором висит Tor
    ControlPort 9053 # Порт для контроля, с его помощью можно менять IP
    CookieAuthentication 0 # Авторизация для контроля отключена
    DataDirectory /var/lib/tor9052 # Тут хранятся файлы либы, адрес каждый раз уникальный
  • Копируем готовый конфиг в новый файл:
    1
    2
    cd /etc/tor
    cp torrc.9052 torrc.9054
  • Прописываем в torrc.9054:
    1
    2
    3
    4
    SocksPort 9054 # Порт, на котором висит Tor
    ControlPort 9055 # Порт для контроля, с его помощью можно менять IP
    CookieAuthentication 0 # Авторизация для контроля отключена
    DataDirectory /var/lib/tor9054 # Тут хранятся файлы либы, адрес каждый раз уникальный

Теперь можно запустить дополнительные экземпляры Tor:

1
2
tor -f /etc/tor/torrc.9052 &
tor -f /etc/tor/torrc.9054 &

Знак & позволяет держать процесс в фоне.
А чтобы не привязываться к консоли, можно использовать nohup:

1
2
nohup tor -f /etc/tor/torrc.9052 &
nohup tor -f /etc/tor/torrc.9054 &

Чтобы проверить, работает ли Tor на нужном порту, можно воспользоваться командой:

1
netstat -lnt | grep 9052

Если всё нормально, то в результате будет:
tcp 0 0 127.0.0.1:9052 0.0.0.0:* LISTEN

Как добавить Tor в автозагрузку

Вообще, сервис Tor при установке автоматически включается в автозагрузку, но вот вариант на случай, когда его экземпляров много. Открываем crontab:

1
crontab -e

И прописываем туда:

1
2
3
4
5
# Tor
@reboot tor -f /etc/tor/torrc.9052 &
@reboot tor -f /etc/tor/torrc.9054 &
@reboot tor -f /etc/tor/torrc.9056 &
# И так далее по вашему списку экземпляров Tor ...

@reboot — сигнал, какую команду запустить после перезагрузки сервера.

Как менять IP в Tor через консоль SSH

В консоль SSH пишем:

1
(echo authenticate '""'; echo signal newnym; echo quit) | nc localhost 9051

Теперь так же можно проверить новый IP:

1
curl --socks5 127.0.0.1:9050 http://checkip.amazonaws.com/

Как использовать Tor как прокси через PHP и менять свой IP (готовый класс)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
class TorProxy {
 
    private $ch, $proxy;
 
    function __construct() {
        $torSocks5Proxy = "socks5://127.0.0.1:9050";
 
        $this -> ch = curl_init();
 
        curl_setopt( $this -> ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5 );
        curl_setopt( $this -> ch, CURLOPT_PROXY, $torSocks5Proxy );
        curl_setopt( $this -> ch, CURLOPT_SSL_VERIFYPEER, false );
        curl_setopt( $this -> ch, CURLOPT_FOLLOWLOCATION, true );
        curl_setopt( $this -> ch, CURLOPT_RETURNTRANSFER, true );
        curl_setopt( $this -> ch, CURLOPT_HEADER, false );
    }
 
    public function curl( $url, $postParameter = null ) {
        if ( count( $postParameter ) > 0 )
            curl_setopt( $this -> ch, CURLOPT_POSTFIELDS, $postParameter );
 
        curl_setopt( $this -> ch, CURLOPT_URL, $url );
        return curl_exec( $this -> ch );
    }
 
    public function changeProxyIdentity() {
        $ip = '127.0.0.1';
        $port = '9051';
 
        $fp = fsockopen( $ip, $port, $error_number, $err_string, 10 );
 
        if ( !$fp ) {
            echo "Error while changing Tor proxy identity: {$error_number} : {$err_string}";
            return false;
        } else {
            fwrite( $fp, "AUTHENTICATE\n" );
            $received = fread( $fp, 512 );
            fwrite( $fp, "signal NEWNYM\n" );
            $received = fread( $fp, 512 );
        }
 
        fclose( $fp );
 
        return $received;
    }
 
    function __destruct() {
        curl_close( $this -> ch );
    }
 
}

Используя класс выше, можно проверить правильность работы Tor с помощью GET запроса:

1
2
3
$proxy = new TorProxy(); // Инициализируем подключение к Tor
$proxy -> changeProxyIdentity(); // Меняем свой IP
echo $proxy -> curl( "http://check.torproject.org" ); // Отправляем запрос с помощью curl

Ниже пример того, как можно отправлять POST запросы через Tor (используя вышеуказанный класс):

1
2
3
4
5
6
7
$proxy = new TorProxy(); ; // Инициализируем подключение к Tor
$proxy -> changeProxyIdentity(); // Меняем свой IP
$parameter = array( // Определяем параметры для POST
    'parameter1' => 'value1',
    'parameter2' => 'value2'
);
echo $proxy -> curl( "http://check.torproject.org", $parameter );  // Отправляем запрос с помощью curl

Как выходить из Tor под определённым GEO IP

По умолчанию, Tor выдаёт случайный IP из случайной страны. Чтобы иметь возможность ограничить выбор страны, из которой будет выдан IP, необходимо внести некоторые настройки в конфигурацию Tor.

Расположение файла конфигурации Tor в зависимости от операционной системы:

  • Windows: {каталог Tor}\Browser\TorBrowser\Data\Tor\torrc. Каталог можно посмотреть в Свойствах Ярлыка, с которого запускается Tor Browser
  • Linux (Debian, Ubuntu): /etc/tor/torrc

Внутри файл конфигурации выглядит примерно так:

1
2
3
4
5
6
# This file was generated by Tor; if you edit it, comments will not be preserved
# The old torrc file was renamed to torrc.orig.1 or similar, and Tor will ignore it
 
DataDirectory С:\Tor Browser\Browser\TorBrowser\Data\Tor
GeoIPFile С:\Tor Browser\Browser\TorBrowser\Data\Tor\geoip
GeoIPv6File С:\Tor Browser\Browser\TorBrowser\Data\Tor\geoip6

В него мы и добавляем изменения

Как разрешить строго определённые страны GEO IP

1
2
ExitNodes {US},{GB},{DE} # Разрешённые страны, через запятую (США, Великобритания, Германия)
StrictExitNodes 1

Ниже пример, как настроить выход строго из России:

1
2
ExitNodes {RU} # Выходные ноды разрешены только из России
StrictExitNodes 1

Как запретить строго определённые страны GEO IP

1
StrictExitNodes {IN},{PR},{CG} # Запрещённые страны, через запятую (Индия, Пуэрто-Рико, Конго)

Если вы используете ExitNodes, то StrictExitNodes игнорируется

Список кодов и стран: https://ru.wikipedia.org/wiki/ISO_3166-2

После внесения изменений в файл конфигурации не забудьте перезапустить Tor

Сервисы, которые я рекомендую:
  • Beget — виртуальный хостинг. Отличный вариант для тех, кто не хочет отвлекаться на настройку хостинга и полностью полагается на качественный сервис. Есть полностью бесплатный тариф для новичков.
  • Fozzy — VPS сервера от 500р./мес. Можно выбрать локацию сервера (Европа, США, Азия).

комментариев 2



Так себеНеплохоНормальноХорошоОтлично (Пока оценок нет)
Загрузка...

Сохранить: В закладки

  • Telegram
  • ВКонтакте
  • Twitter
  • Одноклассники
  • Viber
  • WhatsApp
  • Telegram
  • WP-CLI — управление WordPress из консоли
  • ZIP — где скачать, как установить, распаковать и запаковать архив
  • Как в htaccess запретить доступ по IP диапазону
  • Установка плагинов в WordPress

Серверная

Свежие записи

  • Squid — свой собственный HTTP Proxy сервер
  • Как исправить ошибку «Обновить WordPress — В настоящий момент выполняется другое обновление»
  • Query Monitor
  • LEMP
  • Telegram

Свежие записи

  • Squid — свой собственный HTTP Proxy сервер
  • Как исправить ошибку «Обновить WordPress — В настоящий момент выполняется другое обновление»
  • Query Monitor
  • LEMP
  • Telegram

Свежие комментарии

  • Sheens к записи Что такое SSL и TLS, как установить и настроить
  • Геомант к записи Что такое SSL и TLS, как установить и настроить
  • Sheens к записи Last-Modified в WordPress
  • Артур к записи Last-Modified в WordPress
  • Sheens к записи EWWW Image Optimizer — плагин для сжатия png, jpeg, gif анимации без потери качества
  • Telegram
  • Вконтакте
  • Facebook
  • Twitter
  • Google+
  • Одноклассники
  • Мой Мир Mail.ru
  • RSS

Copyright © 2025 · Sheensay on Genesis Framework · WordPress · Log in