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.