Hi all, after a month of work I’m pleased to announce that the Stem based
replacement for Doctor is now live!
For those who aren’t familiar with it, Doctor is a service that pulls hourly
consensus information and checks it for a host of issues (directory authority
outages, expiring certificates, etc). In the case of a problem it notifies
tor-consensus-health@, and we in turn give the authority operator a heads up.
The new version of Doctor replaces Karsten’s java based counterpart and is
part of our ongoing scheme to eventually deprecate Metrics-lib in
favor of Stem.
Other news this month includes…
- Arlo Breault added DNSEL exit list parsing to Stem! (ticket)
- Stem now mirrors Tor’s hardcoded directory authority information
- Added an example of remote descriptor fetching to our tutorials
- FAQ entry describing other controller libraries
- FAQ entry for the various ways of instantiating a Controller
- FAQ entry describing python’s ‘with’ keyword (this has been a common point of confusion for new stem users)
- Looked a bit into unreliability regarding Tor’s DirPort. Unfortunately requests for compressed descriptor data frequently fail with a truncated response, so Doctor is now requesting uncompressed data (bad, but likely better than hammering authorities with retries).
- Assigned joint copyright of Stem to The Tor Project so it can live on if I get struck by a meteor, swallowed by a dragon, etc.
- Support for new Tor capabilities including TRANSPORT_LAUNCHED events and bridge-ip-transports lines in extrainfo descriptors.
- Overhauled the layout of arm’s codebase so it’ll behave like a more proper python module.
- Discussed using Stem for Bridgedb with sysrqb and isis.
- Answered a few controller related questions on Stack Overflow…