TOR с Python (стволом) зависает при инициализации

У меня возникли проблемы с использованием tor с python, и я не совсем знаю, что делать дальше.

Система/пакеты: Windows 10

Python 3.8 (через лабораторию jupyter)

корень

tor (tor.exe добавлен в PATH)

Я пытаюсь запустить следующий код:

import stem

proxy_port = 9050
def print_bootstrap_lines(line):
  if "Bootstrapped " in line:
    print(line)

tor = stem.process.launch_tor_with_config(
  config = {
    'SocksPort': str(proxy_port) },
  init_msg_handler = print_bootstrap_lines, take_ownership=True
)

Он выводит одну строку, а затем просто сидит

Oct 23 15:00:22.000 [notice] Bootstrapped 0% (starting): Starting

edit Когда я редактирую строку печати boostrap, я также получаю следующие предупреждения:

[warn] Path for GeoIPFile (<default>) is relative and will resolve to D:\projects\Valuator\<default>. Is this what you wanted?
Oct 29 08:44:26.812 [warn] Path for GeoIPv6File (<default>) is relative and will resolve to D:\projects\Valuator\<default>. Is this what you wanted?

Перед запуском я убедился, что процессы tor.exe не запущены, и я могу подтвердить, что он запускает процесс tor.exe в диспетчере задач.

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

Любые предложения о том, как действовать/следующие шаги? Я в недоумении, что попробовать дальше.

Спасибо!


person flyingmeatball    schedule 23.10.2020    source источник
comment
Ваш код отлично работает на MacOS. Вы получили бы ошибку, если бы tor не был в PATH. Само собой разумеется, но на всякий случай, вы уже открывали Tor после установки обычным способом? Перед первым запуском выполняется множество настроек на лету. Есть ли вариант удалить и сделать новую установку?   -  person Kamil    schedule 27.10.2020
comment
Спасибо за подтверждение - я удалил/переустановил TOR в другое место и физически открыл браузер без проблем.   -  person flyingmeatball    schedule 27.10.2020
comment
но проблема все еще сохраняется?   -  person Kamil    schedule 27.10.2020
comment
Если вы удалите if "Bootstrapped " in line:, будут ли напечатаны какие-либо другие полезные сообщения журнала? Попробуйте удалить take_ownership или добавить tor.wait() после запуска, так как take_ownership утверждает право собственности на процесс tor, поэтому он прерывается, если этот процесс python завершается или контроллер, который мы устанавливаем для него, отключается. Процесс может завершиться сразу после запуска вашего кода, так как Python завершит работу, поскольку кода больше нет.   -  person drew010    schedule 27.10.2020
comment
Уничтожение процесса брандмауэра может не помочь. Вы должны явно разрешить tor.exe все в правилах брандмауэра.   -  person viilpe    schedule 29.10.2020
comment
@ drew010 Я удалил загрузочную строку и получил несколько других предупреждений. Я обновил выше. Я думаю, что это может быть связано с тем, что у меня есть устаревшие файлы tor из старой установки. Я заметил, что в [имя пользователя]/appdata/roaming/tor он ссылается на файлы, которые были установлены ранее. Я собираюсь удалить этот каталог и переустановить Tor - надеюсь, это исправит   -  person flyingmeatball    schedule 02.11.2020
comment
Дополнительные записи в журнале указывают на предупреждение с файлом GeoIP, которое не должно влиять на загрузку (я так не думаю). Я скопировал ваш пример, сохранив параметр take_ownership, и без проблем запустил его в Windows 10. Tor загружается, подключается, а затем закрывается после завершения. Когда он зависает при загрузке, вы все еще видите, что процесс tor.exe запущен? У вас может быть проблема с брандмауэром этого процесса Tor, который не позволяет ему получить доступ к сети.   -  person drew010    schedule 02.11.2020
comment
Кроме того, обязательно используйте экспертный пакет в Windows (также обязательно используйте экспертный пакет в Windows: torproject.org/dist/torbrowser/10.0.2/tor-win32-0.4.4.5.zip), а не двоичные файлы из комплекта браузера. Когда я тестировал, мне удалось заставить его работать, используя исполняемые файлы пакета Tor Browser, хотя пакет эксперта должен быть проще в работе.   -  person drew010    schedule 02.11.2020
comment
@ drew010 спасибо - проблема заключалась в устаревших файлах в каталоге appdata. Я удалил этот каталог, удалил установку браузера tor, переустановил из установщика Windows exe, запустил его вручную один раз, а затем он правильно запускается в python.   -  person flyingmeatball    schedule 02.11.2020


Ответы (1)


Проблема заключалась в устаревшей старой установке в [имя пользователя]/appdata/roaming/tor. Я переместил каталог, в который установил Tor, но не знал, что нужно сначала очистить эту папку. Как только я удалил это и переустановил браузер Tor, все заработало правильно.

person flyingmeatball    schedule 02.11.2020