Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
xtor — Python-Bibliothek für programmatische Tor-Instanzverwaltung mit SOCKS5-Proxy, Identitätsrotation, Stream-Isolation, versteckten Diensten, Schaltkreissteuerung und asynchronen HTTP-Clients. | Kitploit
Tools/GitHubGitHub/khalidelborai/xtor
Scripting & AutomatisierungNetzwerksicherheitPrivatsphäreDienstprogramme & FrameworksCrawler
GitHubkhalidelborai/xtor

xtor

Python-Bibliothek für programmatische Tor-Instanzverwaltung mit SOCKS5-Proxy, Identitätsrotation, Stream-Isolation, versteckten Diensten, Schaltkreissteuerung und asynchronen HTTP-Clients.

Repository anzeigen
11vor 6 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

xtor

Python-Bibliothek zur programmgesteuerten Verwaltung von Tor-Instanzen.

PyPI version Python 3.10+ License: GPL-3.0-or-later CI

Funktionen

  • Starten neuer Tor-Prozesse oder Verbinden zu bestehenden
  • Vorkonfigurierte httpx-Clients (synchron + asynchron) mit SOCKS5-Proxy
  • Identitätswechsel mit optionalem Warten auf neue IP
  • Stream-Isolation für Verkehrstrennung
  • Verwaltung von Schaltkreisen und Streams
  • Exit-Knoten-Informationen (Land, Bandbreite, Flags)
  • Ephemere versteckte Dienste (.onion)
  • Ereignislistener (Schaltkreis-, Stream-, Bandbreitenereignisse)
  • TorPool zur Verwaltung mehrerer Instanzen mit Round-Robin und Zufallsauswahl
  • Benannte Instanzen mit CLI-Verwaltung
  • Benutzerdefinierte Ausnahmehierarchie für präzise Fehlerbehandlung

Installation

Voraussetzungen

Linux (Debian/Ubuntu):

root@kitploit:~
sudo apt-get install tor obfs4proxy

Windows:

Laden Sie das Tor Expert Bundle von torproject.org herunter.

Python-Paket

root@kitploit:~
pip install xtor
# oder
uv add xtor

Schnellstart

root@kitploit:~
from xtor import Tor

with Tor.start(port=9052, control_port=9053, host="127.0.0.1") as tor:
    print(f"Verbindung über IP: {tor.ip}")
    resp = tor.client.get("https://api.ipify.org")
    print(resp.text)

Verwendung

Einen neuen Tor-Prozess starten

root@kitploit:~
from xtor import Tor
from xtor.exceptions import TorNotFoundError, PortInUseError

try:
    with Tor.start(port=9052, control_port=9053, host="127.0.0.1", password="mypass") as tor:
        print(tor.ip)
        resp = tor.client.get("https://api.ipify.org")
        print(resp.text)
except TorNotFoundError:
    print("Tor nicht im PATH gefunden")
except PortInUseError as e:
    print(f"Port belegt: {e}")

Hinweis: Aus Gründen der Abwärtskompatibilität ist Tor.startTor() als Alias für Tor.start() verfügbar.

Mit einer bestehenden Instanz verbinden

root@kitploit:~
with Tor(password="mypass", port=9050, control_port=9051) as tor:
    print(tor.ip)

Neue Identität

root@kitploit:~
with Tor.start(port=9052, control_port=9053, host="127.0.0.1") as tor:
    print(tor.ip)
    tor.new_identity(wait=True, timeout=30)
    print(tor.ip)  # Neue IP

Asynchroner Client

root@kitploit:~
import asyncio
from xtor import Tor

async def main():
    with Tor.start(port=9052, control_port=9053, host="127.0.0.1") as tor:
        async with tor.async_client as client:
            resp = await client.get("https://api.ipify.org")
            print(resp.text)

asyncio.run(main())

Stream-Isolation

root@kitploit:~
with Tor.start(port=9052, control_port=9053, host="127.0.0.1") as tor:
    # Jeder Schlüssel erhält seinen eigenen Schaltkreis
    client_a = tor.isolated_client("session-a")
    client_b = tor.isolated_client("session-b")
    # Anfragen über client_a und client_b nutzen unterschiedliche Schaltkreise

Schaltkreisverwaltung

root@kitploit:~
with Tor.start(port=9052, control_port=9053, host="127.0.0.1") as tor:
    circuits = tor.get_circuits()
    for c in circuits:
        print(f"Schaltkreis {c.id}: {c.status}, Pfad: {c.path}")

    # Einen bestimmten Schaltkreis schließen
    tor.close_circuit(circuits[0].id)

Exit-Knoten-Informationen

root@kitploit:~
with Tor.start(port=9052, control_port=9053, host="127.0.0.1") as tor:
    info = tor.exit_node
    if info:
        print(f"Exit: {info.nickname} ({info.country})")
        print(f"Flags: {info.flags}")

Versteckte Dienste

root@kitploit:~
with Tor.start(port=9052, control_port=9053, host="127.0.0.1") as tor:
    service = tor.create_hidden_service({80: 8080})
    print(f"Dienst: {service.onion_address}")

    # Entfernen, wenn fertig
    tor.remove_hidden_service(service)

Ereignislistener

root@kitploit:~
with Tor.start(port=9052, control_port=9053, host="127.0.0.1") as tor:
    def on_bandwidth(event):
        print(f"Gelesen: {event.read}, Geschrieben: {event.written}")

    tor.add_event_listener("BW", on_bandwidth)
    # ... arbeiten ...
    tor.remove_event_listener(on_bandwidth)

TorPool

root@kitploit:~
from xtor import TorPool

with TorPool(size=3, base_port=9100, password="secret") as pool:
    # Round-Robin
    tor = pool.next()
    print(tor.client.get("https://api.ipify.org").text)

    # Alle Identitäten rotieren
    pool.rotate_all()

    # Zufällige Auswahl
    tor = pool.random()

Benannte Instanzen (Python)

root@kitploit:~
from xtor import Tor

# Benannte Instanz starten
tor = Tor.start(port=9052, control_port=9053, host="127.0.0.1", name="my-tor")

# Später per Name wieder verbinden
tor = Tor.from_name("my-tor")
with tor:
    print(tor.ip)

CLI-Referenz

Die xtor-CLI verwaltet benannte Tor-Instanzen als Hintergrundprozesse.

root@kitploit:~
# Eine benannte Instanz starten
xtor start my-tor --port 9052 --control-port 9053

# Instanzen auflisten
xtor list

# Verbindungsdetails
xtor connect my-tor

# Instanz stoppen
xtor stop my-tor

# Instanz und Daten entfernen
xtor remove my-tor

Benutzerdefinierte Ausnahmen

root@kitploit:~
XtorError (Basis)
├── TorNotFoundError
├── PortInUseError
├── IdentityChangeTimeout
├── ConnectionError
└── AuthenticationError

Allesfang-Muster:

root@kitploit:~
from xtor.exceptions import XtorError

try:
    with Tor.start(port=9052, control_port=9053, host="127.0.0.1") as tor:
        ...
except XtorError as e:
    print(f"xtor-Fehler: {e}")

Lizenz

GPL-3.0-or-later

Tool herunterladen