Hi Matt, On Mon, 27 Jan 2020 08:56:32 -0500 Matt Traudt wrote:
> stem's get_circuits() function on a controller. > > https://stem.torproject.org/api/control.html#stem.control.Controller.get_circuits > > You'll get a list of circuit objects, which each have a path. For each > circuit that is built for the purpose of carrying your traffic to a > non-onion destination, the last item in the path is an exit node. Thanks for the reply. The reference to get_circuits seems to imply the first answer linked in my S.O. question - a short python code which lists all circuits: https://stackoverflow.com/a/17130011 To get the IP address of the current Tor exit node (the one which would be used if I attempt a connection to a non-onion destination) I use one of these: (1) torsocks curl https://ipinfo.io/ip (2) torsocks dig @resolver1.opendns.com ANY myip.opendns.com +short Both these commands give the same IP address but it is the same as the last one listed by python script given above (which uses get_curcuits). Am I doing something wrong? > It's all in the stem documentation. I would familiarize yourself with > it. I am trying to but as I am still new to Python, so it is still beyond my level. > Also, this is a mailing list for Tor relay operators to talk about > relay operation stuff. tor-talk@ might have been a better place for this. It is the first time I use these lists, so please forgive me. Should I stop posting here instantly and re-post the original question to tor-talk? > Note your misconception that there is only **one** circuit or **one** > exit at a time. Not true. Tor may choose to open new circuits for a wide > variety of reasons. The remainder of this email is a copy/paste response > I use on Reddit when people seem to have this misconception. Perhaps if I should have clarified my global goal: I want to be able to receive a new **different** IP address for different connections which a bash script makes. Suppose (simplified): ---------- #!/bin/bash torsocks curl http://site1.com get-new-tor-ip torsocks curl http://site2.com get-new-tor-ip ... ---------- Currently I get-new-tor-ip like this (simplified): ---------- oldip=$(torsocks dig @resolver1.opendns.com ANY myip.opendns.com +short) newip="${oldip}" while [ "${newip}" == "${oldip}" ] do newip= ... # As described in http://vt5hknv6sblkgf22.onion/faq.html#how-do-i-request-a-new-identity-from-tor done ---------- I am willing to avoid the call to an external service. I understand the rest of your explanations but I am afraid I am not clever enough to find the answer to my goal in them. Can you help? Again: if it is inappropriate to ask here, I can repeat the question in tor-talks. Just let me know please. Thanks. _______________________________________________ tor-relays mailing list tor-relays@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays