Python 自动生成tor出口节点列表

Python 自动生成tor出口节点列表,python,tor,Python,Tor,我想自动生成一个可以到达某个IP地址的tor出口节点列表。我在互联网上搜索了一段时间,从中发现了这段代码 if[-z“$1”];然后 回显用法:$0“导入操作系统 进口稀土 导入系统 导入URL库 如果len(sys.argv)!=2: 如果您已将Tor配置为具有控制端口和服务器描述符,请打印“Usage{} ControlPort 9051 CookieAuthentication 1 UseMicrodescriptors 0 。。。然后您可以使用…轻松地枚举出口 也就是说,如果你真正的问

我想自动生成一个可以到达某个IP地址的tor出口节点列表。我在互联网上搜索了一段时间,从中发现了这段代码

if[-z“$1”];然后
回显用法:$0“
导入操作系统
进口稀土
导入系统
导入URL库
如果len(sys.argv)!=2:

如果您已将Tor配置为具有控制端口和服务器描述符,请打印“Usage{}

ControlPort 9051
CookieAuthentication 1
UseMicrodescriptors 0
。。。然后您可以使用…轻松地枚举出口

也就是说,如果你真正的问题是“我如何使用每个Tor出口做一些事情”,那么请不要!反复制作电路对Tor网络有害,有关详细信息,请参阅。

()是一个简单的REST API,用于确定是否从Tor网络发出请求

请求是:
curl-X GEThttp://detor.ambar.cloud/

答案是

{ 
“sourceIp”:“104.200.20.46”,
“destIp”:“89.207.89.82”,
“目的港”:“8080”,
“发现”:正确
}

import os
import re
import sys
import urllib

if len(sys.argv) != 2:
    print "Usage {} <your host's ip>".format(sys.argv[0])
    sys.exit(1)

hostip = sys.argv[1]

u = urllib.urlopen('https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=' + hostip)
for ip in u:
    ip = ip.strip()
    if re.match('\d+(\.\d+){3}$', ip):
        #print ip
        os.system('sudo iptables -A INPUT -s "{}" -j DROP'.format(ip))
u.close()
ControlPort 9051
CookieAuthentication 1
UseMicrodescriptors 0
from stem.control import Controller

with Controller.from_port(port = 9051) as controller:
  controller.authenticate()

  for desc in controller.get_server_descriptors():
    if desc.exit_policy.is_exiting_allowed():
      print desc.address