Naja TOR funktioniert anders als du dir das anscheinend vorstellst.
Der Tor Client muss ja erstmal aushandeln welchen Pfad die Pakete nehmen werden und welche Verschlüsselung zum Einsatz kommt, das erledigt eben der Client den du nicht installieren willst.
Dieser Client stellt dann lokal einen SOCKS5 zu Verfügung der die Verbindungen durch das Tor Netzwerk routed.
Wenn du jetzt eine Verbindung durch TOR routen willst kommst du nicht darum herum einen Server zu nutzen auf dem ein Tor Client läuft.
Die Public Nodes die du dir einfach von einem Verzeichnisserver holen kannst, haben aber normalerweise bloß den ORPort fürs Routing und den Verzeichnisport geöffnet.
Wie erwähnt kannst du halt nach schlecht konfigurierten TOR Proxies suchen die den SOCKS Port geöffnet haben aber dann hast du immer noch eine unverschlüsselte Verbindung vom Host zum SOCKS Entrypoint, widerspricht also so ziemlich der Idee von TOR
Und selbst wenn du einen findest, hast du noch keine Möglichkeit eine neue Identität übers Tor Control Protokoll anzufordern da du dafür Zugriff auf Port 5091 bräuchtest (+Auth).
Also wenn das Ziel das spoofen von Unterschiedlichen IP's und weniger die Sicherheit/Anonymität ist, dann bist du wohl besser mit einer SOCKS Liste bedient.
Das kann Curl ja mit Boardmitteln.
Update: Das finden von schlecht konfigurierten Tor Nodes könnte schwer werden, default Config:
Code:
## Tor opens a SOCKS proxy on port 9050 by default -- even if you don't
## configure one below. Set "SOCKSPort 0" if you plan to run Tor only
## as a relay, and not make any local application connections yourself.
#SOCKSPort 9050 # Default: Bind to localhost:9050 for local connections.
#SOCKSPort 192.168.0.1:9100 # Bind to this address:port too.
## Entry policies to allow/deny SOCKS requests based on IP address.
## First entry that matches wins. If no SOCKSPolicy is set, we accept
## all (and only) requests that reach a SOCKSPort. Untrusted users who
## can access your SOCKSPort may be able to learn about the connections
## you make.
#SOCKSPolicy accept 192.168.0.0/16
#SOCKSPolicy accept6 FC00::/7
#SOCKSPolicy reject *
Der Socks erlaubt also in der Standard Config nur Verbidungen von 127.0.0.1