Using the Linux onioncircuits package or carml monitor, I see circuits for onions that I'm accessing (client-side circuits). I also see circuits for onions that I'm hosting, and accessing from another machine (onion-side circuits).
However, I only see streams attached to client-side circuits. Streams attached to HS_CLIENT_REND circuits are the most persistent. I see no streams attached to onion-side circuits (HS_SERVICE_HSDIR, HS_SERVICE_INTRO or HS_SERVICE_REND).
How might I display them?
Edit: In .../txtorcon/stream.py I see, at line 25:
class Stream(object): """ Represents an active stream in Tor's state (:class:`txtorcon.TorState`). ... :ivar state: Tor's idea of the stream's state, one of: - NEW: New request to connect - NEWRESOLVE: New request to resolve an address - REMAP: Address re-mapped to another - SENTCONNECT: Sent a connect cell along a circuit - SENTRESOLVE: Sent a resolve cell along a circuit - SUCCEEDED: Received a reply; stream established - FAILED: Stream failed and not retriable - CLOSED: Stream closed - DETACHED: Detached from circuit; still retriable :ivar target_host: Something like www.example.com -- the host the stream is destined for.
That implies to me that :class:
txtorcon.TorState only includes client-side streams. But perhaps I'm reading too literally.