Make conf['tor']['extra_lines'] into a torrc file
sbws tries to parse extra torrc options from its config file, and add them to the existing options. But this code is buggy: it tries to merge extra options with existing options with the same name. That doesn't work if the option is only allowed to occur once in the torrc file.
Tor can get options from these places, in this order:
- torrc-defaults file
- torrc file
- command-line (stem's launch command)
- control port (stem's control port command)
Here's a better design for sbws:
- hard-coded options in a torrc-defaults file
- extra user options in a torrc file
- configured options on the command-line
- runtime options over the control port
This means that:
- users can override hard-coded options using the torrc file
- users can modify configured options using the sbws config.ini
- users can't modify runtime options (for simplicity)