115 lines
3.9 KiB
Markdown
115 lines
3.9 KiB
Markdown
## stem_examples
|
|
|
|
Examples of using the Python stem library to query the state of a running tor.
|
|
|
|
You can set TOR_CONTROLLER_PASSWORD in the environment if your tor control port
|
|
requires a password.
|
|
|
|
* check_digests
|
|
* compare_flags
|
|
* exit_used
|
|
* introduction_points
|
|
* list_circuits
|
|
* mappaddress
|
|
* outdated_relays
|
|
* relay_connections
|
|
* tor_bootstrap_check
|
|
|
|
### check_digests
|
|
|
|
Checking Descriptor Digests
|
|
|
|
Tor relay information is provided by multiple documents. Signed
|
|
descriptors transitively validate others by inclusion of their
|
|
digest. For example, our consensus references server descriptor
|
|
digest, and server descriptors in turn cite extrainfo digests.
|
|
|
|
Stem can calculate digests from server, extrainfo, microdescriptor, and consensus documents. For instance, to validate an extrainfo descriptor...
|
|
|
|
https://stem.torproject.org/tutorials/examples/check_digests.html
|
|
|
|
### compare_flags Comparing Directory Authority Flags
|
|
|
|
Compares the votes of two directory authorities, in this case moria1
|
|
and maatuska, with a special interest in the 'Running' flag.
|
|
|
|
https://stem.torproject.org/tutorials/examples/compare_flags.html
|
|
|
|
### connection_resolution Connection Resolution
|
|
|
|
Connection information is a useful tool for learning more about network
|
|
applications like Tor. Our stem.util.connection.get_connections() function
|
|
provides an easy method for accessing this information.
|
|
|
|
|
|
### exit_used Exit Used
|
|
|
|
Determine The Exit You're Using
|
|
|
|
https://stem.torproject.org/tutorials/examples/exit_used.html
|
|
|
|
### introduction_points Introduction Points
|
|
|
|
This script tests if you can reach a hidden service, passed as an onion address
|
|
as an argument. If no argument is given, 3 common onion sites are tested:
|
|
Facebook, DuckDuckGo, and .
|
|
|
|
https://stem.torproject.org/tutorials/over_the_river.html
|
|
|
|
### list_circuits List Circuits
|
|
|
|
Tor creates new circuits and tears down old ones on your behalf, so
|
|
how can you get information about circuits Tor currently has available?
|
|
https://stem.torproject.org/tutorials/examples/list_circuits.html
|
|
|
|
### mappaddress
|
|
|
|
Mappaddress queries the socks proxy with an onion address and returns the
|
|
IP address that it will use for it. the address will be in the block specified
|
|
by the VirtualAddrNetworkIPv4 setting of the torrc, e.g.
|
|
|
|
VirtualAddrNetworkIPv4 172.16.0.0/12
|
|
|
|
### outdated_relays List Outdated Relays
|
|
|
|
Time marches on. Tor makes new releases, and at some point needs to
|
|
drop support for old ones. Below is the script we used on ticket 9476
|
|
to reach out to relay operators that needed to upgrade.
|
|
|
|
https://stem.torproject.org/tutorials/examples/outdated_relays.html
|
|
|
|
### relay_connections Connection Summary
|
|
|
|
The following provides a summary of your relay's inbound and outbound connections.
|
|
|
|
To use this you must set DisableDebuggerAttachment 0 in your
|
|
torrc. Otherwise connection information will be unavailable.
|
|
|
|
https://stem.torproject.org/tutorials/examples/relay_connections.html
|
|
|
|
### Download Tor Descriptors
|
|
|
|
Tor relays provide a mirror for the tor relay descriptors it has
|
|
cached. These are available from its ORPort using Tor's wire protocol,
|
|
and optionally with http as well from a DirPort.
|
|
|
|
https://stem.torproject.org/tutorials/examples/download_descriptor.html
|
|
|
|
### Votes by Bandwidth Authorities
|
|
|
|
Tor takes into account a relay's throughput when picking a route through the Tor network for its circuits. That is to say large, fast relays receive more traffic than small ones since they can better service the load.
|
|
|
|
To determine a relay's throughput special authorities, called bandwidth authorities,
|
|
take periodic measurements using them. The lifecycle of new Tor relays
|
|
is a bit more complicated than that, butthat's the general idea.
|
|
|
|
Bandwidth authorities include their measurements in their votes. The following
|
|
gets their current votes then prints how many relays it had a measurement for.
|
|
|
|
https://stem.torproject.org/tutorials/examples/votes_by_bandwidth_authorities.html
|
|
|
|
## tor_bootstrap_check
|
|
|
|
A script by adrelanos@riseup.net to check what percentage of boostrapping
|
|
tor is at.
|