Как запустить несколько процессов Tor одновременно с разными IP-адресами выхода?

Я новичок в Tor и чувствую, что нужно рассмотреть несколько Tors. Множество торов, которые я здесь упомянул, представляют собой не только несколько экземпляров, но также используют разные прокси-порты для каждого, как это было сделано здесь http://www.howtoforge.com/ultimate-security-proxy-with-tor)

Я пытаюсь начать с 4 Торс. Тем не менее, руководство применимо только к Arch Linux, и я использую безголовую EC2 Ubuntu 64bit. Это действительно боль, проходящая через различия между Arch и Ubuntu. И вот мне интересно, есть ли кто-нибудь, кто мог бы предложить некоторую помощь, чтобы реализовать мою идею в простом виде.

  1. Четыре Tors, запущенные одновременно, каждый с отдельным портом, privoxy или polipo или чем-то еще, в порядке, как только он работает. Как: 8118 <- Privoxy <- TOR <- 9050 8129 <- Privoxy <- TOR <- 9150 8230 <- Privoxy <- TOR <- 9250 8321 <- Privoxy <- TOR <- 9350

  2. Таким образом, если я попытаюсь вернуть ip 127.0.0.1:8118, 8129, 8230 и 8321, они должны вернуть четыре разных ips, что указывает на то, что одновременно работают четыре разных торса. Затем, через несколько минут, проверьте еще раз, все четыре из них должны иметь новые ips снова.

Я знаю, что моя простая "мечта" может сбыться во многих отношениях, однако... Я не только новичок в Tor, но даже в bash и python... Вот почему я прихожу сюда и вижу, могут ли некоторые из вас зажечь меня.

Эти ссылки могут быть полезны:

http://blog.databigbang.com/distributed-scraping-with-multiple-tor-circuits/ https://www.torservers.net/wiki/setup/server Best,

кстати, если я бегу $ ps -A | grep 'tor'у меня есть несколько случаев там, однако с "?" под столбцом tty, что это значит, так как я знаю, что tty означает терминалы?

7 ответов

Решение

Создайте четыре файла torrc, скажем /etc/tor/torrc.1 в .4,

В каждом файле отредактируйте строки:

SocksPort 9050
ControlPort 9051
DataDirectory /var/lib/tor

использовать разные ресурсы для каждого torrc файл, например, для torrc.1:

SocksPort 9060
ControlPort 9061
DataDirectory /var/lib/tor1

за torrc.2,

SocksPort 9062
ControlPort 9063
DataDirectory /var/lib/tor2

и так далее.

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

DataDirectory также может быть относительно текущего каталога, где tor запускается, например:

DataDirectory d1

Затем запустите tor следующим образом:

tor -f /etc/tor/torrc.1  
tor -f /etc/tor/torrc.2

и так далее для двух других файлов.

Это создаст четыре разных сервера Socks5 на четырех портах. Каждый из них откроет свою цепь, что вы и хотите.

Цепной Тор рекомендуется против. Вы можете ухудшить анонимность, а не улучшить анонимность.

Это приводит к неопределенному и потенциально небезопасному поведению. В теории, однако, вы можете получить шесть прыжков вместо трех, но не гарантируется, что вы получите три разных прыжка - вы можете получить один и тот же прыжок, возможно, в обратном или смешанном порядке. Не ясно, безопасно ли это. Это никогда не обсуждалось.

Вы можете выбрать точку входа / выхода, но вы получите максимальную безопасность, которую может предоставить Tor, оставляя выбор маршрута в Tor; переопределение узлов входа / выхода может испортить вашу анонимность способами, которые мы не понимаем. Поэтому использование ToroverTor крайне нежелательно.

Вам следует только связываться с алгоритмом маршрутизации Tor, если вы более умны, чем разработчики Tor.

Использование Privoxy / Polipo давно осуждается проектом Tor. Рекомендуется использовать только Tor Browser. Только Tor Browser дает вам единый веб-отпечаток, и вы не будете выделяться.

Начиная с версии 0.2.3 Tor, разные Socks,- Dns- или TransPorts проходят через разные цепи, что предотвращает корреляцию идентификаторов. Термин для этого - изоляция потока. Получите это, вы можете добавить к torrc...

SocksPort 9050
SocksPort 9052
SocksPort 9053
SocksPort 9054
#...

... и все они пойдут в разных кругах.

Когда вы используете Tor Browser, вы также можете использовать новую функцию идентификации Tor Button. Нажмите на кнопку Tor (зеленый лук) и выберите новую личность. Это сбросит все состояния браузера и изменит схему Tor.

( И это Tor, а не TOR.)

Обратите внимание, что при использовании потоковой изоляции прохождение разных каналов не гарантирует получение разных выходных узлов Tor. Иногда Tor будет использовать только другую защиту входа или среднее реле. Это нормально.

Я написал скрипт для автоматизации процесса настройки Privoxy-Tor в https://github.com/anhldbk/privoxyTor/. Надеюсь, это поможет вам!

Я попробовал torrc.1,torrc.2 и т. Д... но это не сработало.

Однако этот работал:

  1. Остановите процесс tor: /etc/init.d/tor stop
  2. открыто gedit /etc/tor/torrc (Если вы не root, поставьте sudo перед тем, как получить доступ от имени root)
  3. Ищи SocksPort 9050
  4. Теперь укажите все порты, которые вы хотите использовать в качестве потоковых портов (SocksPort 9060, SocksPort 9070, SocksPort 9080.... и т. Д.)
  5. Поиск ControlPort 9051
  6. Теперь поместите любые порты, которые вы хотите использовать в качестве потоковых портов (ControlPort 9061,ControlPort 9071,ControlPort 9081 .... и т. Д.). УВЕДОМЛЕНИЕ, ЧТО ПОРТ УПРАВЛЕНИЯ ВСЕГДА SOCKSPORT+1
  7. Запустите процесс tor снова: /etc/init.d/tor start
  8. Проверьте статус tor /etc/init.d/tor status

это должно показать что-то вроде этого:

tor.service - Anonymizing overlay network for TCP
   Loaded: loaded (/lib/systemd/system/tor.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2016-05-13 22:18:21 GST; 1s ago
  Process: 10259 ExecReload=/bin/kill -HUP ${MAINPID} (code=exited, status=0/SUCCESS)
  Process: 10319 ExecStartPre=/usr/bin/tor --defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc --RunAsDaemon 0 --verify-config (code=exited, status=0/SUCCESS)
  Process: 10317 ExecStartPre=/usr/bin/install -Z -m 02750 -o debian-tor -g debian-tor -d /var/run/tor (code=exited, status=0/SUCCESS)
 Main PID: 10322 (tor)
   CGroup: /system.slice/tor.service
           └─10322 /usr/bin/tor --defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc --RunAsDaemon 0

May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.860 [notice] Tor v0.2.6.10 (git-71459b2fe953a1c0) running on Linux with Li... 1.2.8.
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.860 [notice] Tor can't help you if you use it wrong! Learn how to be safe ...warning
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.860 [notice] Read configuration file "/usr/share/tor/tor-service-defaults-torrc".
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.860 [notice] Read configuration file "/etc/tor/torrc".
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Socks listener on 127.0.0.1:9050
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Socks listener on 127.0.0.1:9060
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Control listener on 127.0.0.1:9051
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Control listener on 127.0.0.1:9061
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Control listener on /var/run/tor/control
May 13 22:18:21 momen-Lenovo systemd[1]: Started Anonymizing overlay network for TCP.

Подсказка: некоторые строки были эллиптическими, используйте -l, чтобы показать их полностью.

Создайте каталог конфигурации tor:
$> mkdir -p ~/configuration_files/tor
$> config=~/configuration_files/tor
$> cd "${config}"

Скопируйте /etc/tor/torrc в каталог конфигурации и сделайте столько копий, сколько вам нужно: например, 10
printf "torrc_%0.2s\n" {1..10} | xargs -I {} /bin/cp /etc/tor/torrc "${config}{}"

Скопируйте /etc/torsocks.conf в каталог конфигурации и сделайте столько копий, сколько вам нужно: например, как указано выше 10
printf "torsocks_%0.2s.conf\n" {1..10} | xargs -I {} /bin/cp /etc/torsocks.conf "${config}/{}"

Создайте новые каталоги данных и исправьте права / владения:
$> sudo mkdir /var/lib/tor{1..10}

Отредактируйте файлы конфигурации, чтобы они не конфликтовали с соответствующими номерами портов

for a in {1..10}; do 
 sed -i "s/^#SocksPort 9050.*/SocksPort $((9050+${i}))/;s|^#DataDirectory /var/lib/tor|DataDirectory /var/lib/tor${i}|" torrc_${i}
 sed -i "s/server_port = 9050/server_port = $((9050+${i}))/" torsocks_${i}.conf
 sudo chmod -R --reference /var/lib/tor /var/lib/tor${i}
 sudo chown -R CHANGETHIS:CHANGETHIS /var/lib/tor${i} 
done 

Примечание: изменение CHANGETHIS на пользователя / группу пользователей, которые планируют его использовать.

После этого легко приступить к работе, вы запускаете отдельные экземпляры tor, используя соответствующий файл конфигурации, например /usr/bin/tor -f "${config}/torrc_3"

Чтобы использовать это все, что вам нужно сделать, это экспортировать переменную TORSOCKS_CONF_FILE, чтобы указать на соответствующий torsocks.conf файл:
Например $> export TORSOCKS_CONF_FILE="${config}/torsocks_3.conf"

Затем вы можете торифицировать / торсить любое приложение из этой конкретной оболочки, и оно будет использовать прокси torsocks_3.conf.
Пытаться: $> torify bash
$> curl www.ipmango.com/api/myip

Чтобы перейти на другой прокси, просто запустите соответствующий tor, используя его файл torrc, и экспортируйте переменную TORSOCKS_CONF_FILE, чтобы указать новую конфигурацию.

Вот простой псевдоним, который выполняет эту работу, после того, как вы настроили его, как указано выше, и у вас установлен roxterm. Это проверит netstat чтобы увидеть, если прокси уже запущен, и если нет, он запустит его в отдельном окне оболочки.

alias prox='_(){ proxy=${1:-1}; config_base="~/configuration_files/tor"; port=$((9050+${proxy})); netstat -an | { ! grep -q "127.0.0.1:${port}"; } && roxterm -e bash -c "/usr/bin/tor -f \"${config_base}/torrc_${proxy}\"; bash"; export TORSOCKS_CONF_FILE="${config_base}/torsocks_${proxy}.conf"; }; _'

Чтобы использовать это:

$> prox 4 
$> torify bash 

Единый сценарий установки протестирован на Ubuntu 23.04, Tor 0.4.7.13.

Это немного оптимизированная и упрощенная версия /questions/44228182/kak-zapustit-neskolko-protsessov-tor-odnovremenno-s-raznyimi-ip-adresami-vyihoda/44228272#44228272

тор-армия

      #!/usr/bin/env bash
set -eux
n=${1:-10}
config_dir=~/etc/tor
rm -rf "$config_dir"
mkdir -p "$config_dir"
cd "${config_dir}"
for i in `seq $n`; do
  cp /etc/tor/torrc torrc_$i
  sed -i "s/^#SocksPort 9050.*/SocksPort $((9050+${i}))/;s|^#DataDirectory /var/lib/tor|DataDirectory /var/lib/tor${i}|" torrc_$i
  cp /etc/tor/torsocks.conf torsocks_$i.conf
  sed -i "s/server_port = 9050/server_port = $((9050+${i}))/" torsocks_${i}.conf
  sudo mkdir -p /var/lib/tor$i
  sudo chmod -R --reference /var/lib/tor /var/lib/tor${i}
  sudo chown -R $USER:$USER /var/lib/tor${i}
done
for i in `seq $n`; do
  nohup tor -f "${config_dir}/torrc_$i" >$i.log 2>&1 &
done

Использование: запустить 10 отдельных экземпляров Tor, вероятно, с разными IP-адресами:

      tor-army 10

Порты Tor назначаются последовательно, начиная с 9051. Стандартный вывод каждого экземпляра передается в файл~/etc/tor/1для 9051, 2 для 9052 и так далее.

Например, использовать сtorsocksупомянуто на https://superuser.com/questions/404732/how-to-use-wget-with-tor-bundle-in-linux и проверьте наш IP с помощьюcheckip.amazonaws.comсогласно https://unix.stackexchange.com/questions/22615/how-can-i-get-my-external-ip-address-in-a-shell-script/250794#250794 :

      torsocks -P 9051 curl http://checkip.amazonaws.com
torsocks -P 9052 curl http://checkip.amazonaws.com

и каждый из них должен производить разную ценность.

Получите новые IP-адреса для всех экземпляров, как описано в разделе « Как программно изменить выходной узел Tor, чтобы получить новый IP-адрес?»

      killall -HUP tor

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

      port=9051
pid="$(netstat -nlp | awk '$4~":'"$port"'"{ gsub(/\/.*/,"",$7); print $7 }')"
kill -HUP "$pid"

Остановите все экземпляры Tor:

      pkill tor

Обратите внимание, что по состоянию на 2023 год существует всего около 2 тысяч заметок о выходе Tor согласно: https://metrics.torproject.org/relayflags.html , так что вряд ли вы сможете получить от него один миллион IP-адресов! Для этого вам понадобится подходящий ботнет .

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

      #!/usr/bin/env bash

ntor=${2:-100}

dowork() (
  i=$1
  j=0
  out=out$i
  out_err=err$i
  out_err_log=log$i
  port=$((9050 + $i))
  pid="$(netstat -nlp 2>/dev/null | awk '$4~":'"$port"'"{ gsub(/\/.*/,"",$7); print $7 }')"
  while IFS= read -r inval; do
    response="$(torsocks -P "$port" curl -s --connect-timeout 10 -w "%{http_code}" https://TARGETSITE.com/key=$inval 2>&1 )"
    if [ "$?" -ne 0 ]; then
      echo $i $j $inval err
      echo $inval >> "$out_err"
      echo $inval >> "$out_err_log"
      echo $response >> "$out_err_log"
      kill -HUP $pid
    else
      http_code=$(tail -n1 <<< "$response")
      content=$(sed '$ d' <<< "$response")
      echo $i $j $inval $http_code
      if [ $http_code -eq 200 ]; then
        if [ -n "$content" ]; then
          echo "$content" >> "$out"
        fi
      else
        echo "$inval" >> "$out_err"
        if [ $http_code -eq 429 ]; then
          kill -HUP $pid
        fi
      fi
    fi
    j=$((j+1))
    sleep 1
  done < input$i.txt
)
for i in `seq $ntor`; do
  dowork $i &
done
wait
trap "trap - SIGTERM && kill -- -$$" SIGINT SIGTERM EXIT
  1. Скачайте Tor Browser для Windows с официального сайта
  2. Извлеките Tor Browser несколько раз (каждый раз меняйте имя папки назначения)
  3. Пропустите первый браузер Tor и выполните шаги 4–6 для остальных экземпляров браузера Tor.
  4. Запустите Tor Browser, найдите about.config в строке поиска.
  5. Найдите extensions.torlauncher.start_tor в окне конфигурации tor-браузера.
  6. Измените значение start_tor с TRUE на FALSE.
  7. Выполните шаг номер 8 для всех экземпляров браузера Tor, кроме последнего.
  8. Перейдите в TorBrowser, Данные, Tor, torrec-defaults. Добавьте «SocksPort 9153» в конец файла и сохраните файл. Увеличивайте 9153 на единицу для каждого нового экземпляра браузера Tor.

Источник: Как запустить несколько браузеров Tor с разными IP-адресами

Другие вопросы по тегам