Tor controller GUI (tor-control-panel)

tor-config-sane has a lot more functionality than writing 1 configuration file. These are stable bash scripts which aren’t easily rewritten in python without introducing new bugs.

repair-torrc makes sure /etc/tor/torrc file and /etc/torrc.d /usr/local/etc/torrc.d exists, creates missing configuration files and fixes existing configuration files if these lack %include lines. It’s also fixing file permissions and file ownership.

If you want to make TCP work with non-Whonix, what’s the plan for adding an %include line to /etc/tor/torrc?

These scripts shouldn’t be trashed for the sake of rewriting them in python.

Instead, if it sounds useful, and if your goal is non-Whonix support…

  • Could you move these scripts to TCP;
  • Use different file paths (not including helper-scripts);
  • Rename them if needed;
  • Make them compatible with non-Whonix;
  • Then call these scripts from python?

If TCP gained non-Whonix support, that would be cool, because then it would gain Kicksecure support.

If bash sounds too complicated, we would probably be able to do this.

TCP at the moment has a lot of GUI dependencies. So it would not be ideal for a CLI / server version. But I think we would be able to deal with this on the packaging level. The single 1 source code repository TCP could generate 2 packages. 1 packages which shipping all files (including scripts such as tor-config-sane and repair-torrc) (tor-control-panel-files) and 1 package (tor-control-panel) shipping no files but Depends: tor-control-panel-files and all GUI dependencies.


Btw Whonix doesn’t use DisableNetwork 1 anymore by default. (Connect to public Tor network by default / avoid Anon Connection Wizard (ACW) popup at first boot)

1 Like