Tor controller GUI (tor-control-panel)

All merged.

Since we don’t use any command line options…

(And if we were using command line options we should still avoid asterix * and list each of them.)

Bug on Debian:

kdesudo tor-control-panel
kdesudo(24116) KDESu::KDESuPrivate::KCookie::getXCookie: No X authentication info set for display  ":0" 

QLayout: Attempting to add QLayout "" to QFrame "", which already has a layout
tail: cannot open '/var/run/tor/log' for reading: No such file or directory
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/tor_control_panel/tor_control_panel.py", line 637, 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'

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.