usage: exclude_badExits.py [-h] [--https_cafile HTTPS_CAFILE]
                           [--proxy_host PROXY_HOST] [--proxy_port PROXY_PORT]
                           [--proxy_ctl PROXY_CTL] [--torrc TORRC]
                           [--timeout TIMEOUT] [--good_nodes GOOD_NODES]
                           [--bad_nodes BAD_NODES] [--bad_on BAD_ON]
                           [--bad_contacts BAD_CONTACTS] [--saved_only]
                           [--strict_nodes {0,1}] [--wait_boot WAIT_BOOT]
                           [--points_timeout POINTS_TIMEOUT]
                           [--log_level LOG_LEVEL]
                           [--bad_sections BAD_SECTIONS]
                           [--white_onions WHITE_ONIONS]
                           [--torrc_output TORRC_OUTPUT] [--hs_dir HS_DIR]
                           [--notice_log NOTICE_LOG]
                           [--relays_output RELAYS_OUTPUT]
                           [--wellknown_output WELLKNOWN_OUTPUT]
                           [--good_contacts GOOD_CONTACTS]

optional arguments:
  -h, --help            show this help message and exit
  --https_cafile HTTPS_CAFILE
                        Certificate Authority file (in PEM)
  --proxy_host PROXY_HOST, --proxy-host PROXY_HOST
                        proxy host
  --proxy_port PROXY_PORT, --proxy-port PROXY_PORT
                        proxy socks port
  --proxy_ctl PROXY_CTL, --proxy-ctl PROXY_CTL
                        control socket - or port
  --torrc TORRC         torrc to check for suggestions
  --timeout TIMEOUT     proxy download connect timeout
  --good_nodes GOOD_NODES
                        Yaml file of good info that should not be excluded
  --bad_nodes BAD_NODES
                        Yaml file of bad nodes that should also be excluded
  --bad_on BAD_ON       comma sep list of conditions - Empty,NoEmail,NotGood
  --bad_contacts BAD_CONTACTS
                        Yaml file of bad contacts that bad FPs are using
  --saved_only          Just use the info in the last *.yaml files without
                        querying the Tor controller
  --strict_nodes {0,1}  Set StrictNodes: 1 is less anonymous but more secure,
                        although some onion sites may be unreachable
  --wait_boot WAIT_BOOT
                        Seconds to wait for Tor to booststrap
  --points_timeout POINTS_TIMEOUT
                        Timeout for getting introduction points - must be long
                        >120sec. 0 means disabled looking for IPs
  --log_level LOG_LEVEL
                        10=debug 20=info 30=warn 40=error
  --bad_sections BAD_SECTIONS
                        sections of the badnodes.yaml to use, in addition to
                        BadExit, comma separated
  --white_onions WHITE_ONIONS
                        comma sep. list of onions to whitelist their
                        introduction points - BROKEN
  --torrc_output TORRC_OUTPUT
                        Write the torrc configuration to a file
  --hs_dir HS_DIR       Parse the files name hostname below this dir to find
                        Hidden Services to whitelist
  --notice_log NOTICE_LOG
                        Parse the notice log for relays and services
  --relays_output RELAYS_OUTPUT
                        Write the download relays in json to a file
  --wellknown_output WELLKNOWN_OUTPUT
                        Write the well-known files to a directory
  --good_contacts GOOD_CONTACTS
                        Write the proof data of the included nodes to a YAML
                        file

This extends nusenu's basic idea of using the stem library to dynamically
exclude nodes that are likely to be bad by putting them on the ExcludeNodes or
ExcludeExitNodes setting of a running Tor. *
https://github.com/nusenu/noContactInfo_Exit_Excluder *
https://github.com/TheSmashy/TorExitRelayExclude The basic idea is to exclude
Exit nodes that do not have ContactInfo: *
https://github.com/nusenu/ContactInfo-Information-Sharing-Specification That
can be extended to relays that do not have an email in the contact, or to
relays that do not have ContactInfo that is verified to include them.
