# -*-mode: python; py-indent-offset: 2; indent-tabs-mode: nil; coding: utf-8-unix -*- # https://stem.torproject.org/tutorials/examples/exit_used.html import functools import sys import getpass import os from stem import StreamStatus from stem.control import EventType, Controller from tor_controller import set_socks_proxy from stem_examples.tor_controller import get_controller from stem_examples.stem_utils import vsetup_logging global LOG import logging LOG = logging.getLogger() def sMapaddressResolv(target, iPort=9051): try: password = os.environ.get('TOR_CONTROLLER_PASSWORD') if os.path.exists('/run/tor/control'): controller = get_controller(password=password, unix='/run/tor/control') else: controller = get_controller(password=password, port=9051) map_dict = {"0.0.0.0": target} map_ret = controller.map_address(map_dict) return map_ret except Exception as e: LOG.exception(e) if __name__ == '__main__': if os.environ.get('DEBUG', ''): log_level = 10 else: log_level = 20 LOG = logging.getLogger() vsetup_logging(LOG, log_level) if len(sys.argv) < 2: target = "l2ct3xnuaiwwtoybtn46qp2av4ndxcguwupzyv6xrsmnwi647vvmwtqd" else: target = sys.argv[1] LOG.info(sMapaddressResolv(target))