Tor controller GUI (tor-control-panel)

This is happening because the systemd Tor service is masked (sudo systemctl mask tor) in that VM. Could you please make the code resilient in case Tor doesn’t ever start (masked, failing due to user error)?

Could you please merge anon-connection-wizard into tor-control-panel? @iry

No problem! I will deprecate anon-connection-wizard after the merge and then start working on tor-control-panel

2 Likes

Due to…

We’re loosing a minor feature. (Those adding /usr/local/program-name.) But not sure anyone would ever do that anyhow. (The more complicated code beforehand was on me.)

I didn’t quiet follow you, could you please explain a little bit more on what I am expected to work on?

1 Like

iry:

I didn’t quiet follow you, could you please explain a little bit more on what I am expected to work on?

/usr/local/bin/tor-control-panel won’t take preference over
/usr/bin/tor-control-panel. Very geeky feature being lost.

1 Like

When I run whonixsetup now on my minimal rpi gateway I get an error:
No module named 'tor_control_panel'
and it suggests to apt-get install it.
The package is indeed not installed nor can I find it as some dependency in the Whonix source. I guess at least for whonixsetup it is required as a dependency.

That is still messy.

tor-control-panel is a undeclared dependency of whonixsetup.

The package is not build yet uploaded in the repository.

The real fix would be to move repair_tor into anon-shared-helper-scripts.

I guess if we have systemd log we don’t need Tor log? Seems to have exactly the same contents.

Somehow the desktop starter from Qubes start menu doesn’t work. Any idea?

tor-control-panel will be installed by default after upgrades. Uploaded to testers repository. :slight_smile:

Merged your commits.

Yes, that would be the obvious location for repair_torrc. But if we move it there, it would be lost for Debian users (repair_torrc is no longer run from tor-control-panel).

Not exactly. It looks like systemd is catching Tor errors, while Tor log just reports exiting cleanly when it does not start or is stopped abnormally. So systemd journal is more comprehensive, but does not add the warn or error tags which are used for highlighting lines in Tor log.

There is a plan to add a Find button in the Logs tab (like in Vidalia), and the tags would be helpful for this option.

Have to run some more tests to figure out.

Will look into it. It used to work in Qubes, it never worked in plain Debian.

1 Like

anon-shared-helper-scripts would be a dependency.

Installation of tor-control-panel for Debian users would still be simple. As simple as:

Once/if we manage to get both anon-shared-helper-scripts and tor-control-panel uploaded to packages.debian.org it would be installabe as simple as sudo apt-get install tor-control-panel.

1 Like

Moved repair_torrc in anon-shared-helper-scripts.

A batch of atomic commits in tor-control-panel before this one, which sets the new path:

Added anon-shared-helper-scripts dependency in the last commit.

The modified repair_torrc

whonix-setup-wizard is updated for tor-control-panel.

1 Like

move repair_torrc in anon-shared-helper-scripts · troubadoour/anon-shared-helper-scripts@f86fd80 · GitHub

from tor_control_panel import torrc_gen, info

Now anon-shared-helper-scripts depends on tor-control-panel.
Could you please move also torrc_gen, info to anon-shared-helper-scripts?
What that is done both whonixsetup (CLI) and tor-control-panel (GUI) can just depend on anon-shared-helper-scripts.
The added advantage of that is that a Whonix CLI version (RPI version being worked on) doesn’t pull any GUI packages.

In the first un-pushed version, repair_torrc was not depending on tor-control-panel. It’s reverted.

It makes some code redundant.

For the time being, it would not be wise to move torrc_gen.py into anon-shared-helper-scripts, too much complication.

info.py is ugly, and should not stay as is. The plan is to make a real translatable mechanism, gettext like. I have some clues on that, but it’s not quite clear yet.

1 Like

Desktop file fix.

Bug fix.

1 Like

All merged.



One bug. To reproduce.

sudo systemctl mask tor
sudo rm -r /var/run/tor
kdesudo tor-control-panel 
  File "/usr/lib/python3/dist-packages/tor_control_panel/tor_control_panel.py", line 634, in refresh_logs
    with open(self.tor_log_html, 'w') as fw:
FileNotFoundError: [Errno 2] No such file or directory: '/var/run/tor/html-log'

Refuses to start.

Could you please reset whonix-setup-wizard to be auto starting anon-connection-wizard? For first boot the wizard is a bit easier.

Done.

Probably fixed in

Aren’t we try to fix corner cases, created by developers trying every possible situation?

In that case (removing /var/run/tor), swdate-gui-qubes logically shows Tor is not running because the Tor file system watcher looks at /var/run/tor and torrc. If the former is deleted, the watcher stops and would have to be restarted when Tor is restarted and recreates /var/run/tor. Feasible, but is it worth the code complication?

The same applies if we remove torrc. swdate-gui-qubes shows Tor is disabled and tor-control-panel refuses to start. This can be fixed by running repair_torrc in tor-control-panel, but again, is it worth?

1 Like