在尝试运行Stem's To Russia With Love示例时,我收到以下错误:
~$ python practice.py
Starting Tor:
Traceback (most recent call last):
File "practice.py", line 49, in <module>
init_msg_handler = print_bootstrap_lines,
File "/usr/local/lib/python2.7/dist-packages/stem/process.py", line 266, in launch_tor_with_config
return launch_tor(tor_cmd, args, torrc_path, completion_percent, init_msg_handler, timeout, take_ownership)
File "/usr/local/lib/python2.7/dist-packages/stem/process.py", line 143, in launch_tor
raise OSError('Process terminated: %s' % last_problem)
OSError: Process terminated: Timed out
我最初得到了here解决的路径错误。我尝试重新启动Ubuntu实例(我在VirtualBox中运行Ubuntu 14.04),以防万一其他运行的tor发生冲突,但它给出了相同的错误。有人可以帮忙吗?
编辑:如果以任何方式连接,我的torrc文件现在似乎也是空的。
答案 0 :(得分:1)
它可能会失败,因为您缺少使用特定国家/地区的退出节点所需的GeoIP数据库。
尝试从python脚本中删除'ExitNodes': '{ru}',
行,或者由于您使用的是Ubuntu,请尝试sudo apt-get install tor-geoipdb
,看看是否有助于连接启动和运行。
由于构建电路需要时间,因此您可以尝试稍微增加超时(尽管这可能不是它失败的原因)。
tor_process = stem.process.launch_tor_with_config(
#tor_cmd = '/usr/bin/tor',
timeout = 300,
config = {
'SocksPort': str(SOCKS_PORT),
# 'ExitNodes': '{ru}',
'DataDir': '/tmp/tor',
'Log': [
'NOTICE file /tmp/tor.notice.log',
'ERR file /tmp/tor.log',
],
},
init_msg_handler = print_bootstrap_lines,
)