[graphical gui] Whonix Setup Wizard / Anon Connection Wizard - Technical Discussion


Thank you very much for your valuable feedback, @Patrick !

I will be working on these issues!


There were some anonymous edits improving the wording of the page.

And I added seo tags for oneboxing.


Well, lets call them pseudononymous. :wink:

  • Templates should have the box form to match all other pages, so I fixed that, and in arm template
  • Re: wording, the only bit iry should check is where I say stuff around “code compatibility”

It’s a very good development BTW


Hi @torjunkie! Thank you so much for helping with the revise! I have learned from your revision and will be careful the next time I do create a template.

Could you please explain a little bit more about what “code compatibility” is? I tried to search it as a keyword in the forum but I did not find related information.

Thank you very much, @torjunkie!


I apologize for my sudden absence for quiet a long time. I will inform the public my absence next time, if I can see I will not be able to work on Whonix! :wink:


Hi Iry,

This bit:


As a consequence, the anon-connection-wizard developers are trying to maintain code compatibility with the latest version of Tor-launcher and collaborate closely in Tor Launcher’s design and development process.

censorship circumvention / Tor pluggable transports
meek_lite: A New Pluggable Transport in Whonix 14




The ideal design of anon-connection-wizard (or other gui application) is making it at least two parts: a GUI front-end + a torrcIO back-end.

Currently, anon-connection-wizard is using three modules for IO the torrc:

  1. repair_torrc.py
  2. tor_status.py
  3. the io() method in anon_connection_wizard.py

They should be integrated and merged into one single file that called torrc_io.py, severing as an API. And then, all the IO operation to a certain torrc file or torrc.d directory should be done by importing torrc_io.py and then call its functions.

Hopefully, this will not be too much work but will greatly improve the readability, writability of code. This will also allow different implementation (PyQt or Gtk) of the GUI without breaking anon-connection-wizard.



Let anon-connection-wizard support different languages.

I am thinking about using https://github.com/Whonix/python-guimessages, but I am not sure if guimessages is the best way to do translations if we consider anon-connection-wizard as something that will finally be packaged into Debian.

I will investigate on the way to make anon-connection-wizard translatable. Do you any thoughts on this, @Patrick !

Thank you very much!


The API stuff… Perhaps such an API would be best merged into python-stem? What do you think? If it’s a fit, could you ask Damian please?

@iry what’s the remaining TODO to use anon-connection-wizard in Whonix 14?

  • sort out interaction with Whonix Setup Wizard
  • add to Whonix/packages folder
  • add to anon-meta-packages debian/control
  • anything else?


I am really sorry for my late reply.

I think that’s all.
I will be working on these tasks later this week. :slight_smile:

Thank you very much for your suggestions, @Patrick!
I have written a draft of the proposal and I will send it out after polishing it. :slight_smile:



  • Change the connection page to a big button which will launch anon-connection-wizard. This may not be very beautiful in terms of UI but it will neither cause logic errors nor other race conditions. Please let me know if there is any other good idea on the design. :slight_smile:
  • Remove tor_status.py from whonix-setup-wizard package since an extended version of it is available in anon-connection-wizard package.


Recent commits which includes:

  • icon changes
  • torrc.d files rename
  • fix compatibility issue with whonix-setup-wizard


Problem is deb.torproject.org is dead.


Is this how you understand that ticket?

That kills torrc.d until Whonix will be based on Debian buster. (The one after stretch. Whonix 14 will be stretch based.)

Tor Releases Discussion
Tor Releases Discussion

Hi Patrick!

What Tor version does the Whonix decide to use in Whonix 14? Because it will help me to do the adjustment on whether supporting torrc.d in anon-connection-wizard or not.

BTW, it seems that not supporting torrc.d can be fairly easy, we can still use /etc/torrc.d/40_anon_connection_wizard.torrc and include this line in /etc/tor/torrc file:

%include /etc/torrc.d/40_anon_connection_wizard.torrc

We can even “support” torrc.d feature while using Tor LTS by including these lines in /etc/tor/torrc file:

%include /etc/torrc.d/30_whonix.torrc
%include /etc/torrc.d/40_anon_connection_wizard.torrc
%include /etc/torrc.d/50_user.torrc


As is. No changes. The one from deb.torproject.org (stretch repository).


Patrick Schleizer:

As is. No changes. The one from deb.torproject.org (stretch repository).

Thank you very much, Patrick!

Then the torrc.d is supported. Therefore both Anon-Connection-Wizard
and the integration to Whonix-Setup-Wizard are ready to be tested now. :slight_smile:


Debian not having fixed their way forward with add torrc.d configuration directory is a major complication.


Will %include /etc/torrc.d/ go into /usr/share/tor/tor-service-defaults-torrc or /etc/tor/torrc? This is unanswered.

If we modify Whonix’s /etc/tor/torrc, users who upgrade will get an interactive dpkg conflict resolution dialog and will be confused, bridges users most likely breaking their connectivity if they install the new config file.

Since Upgrading Whonix 13 to Whonix 14 recommend apt-get-noninteractive dist-upgrade, the new /etc/tor/torrc by Whonix would overwrite bridges or otherwise user modified /etc/tor/torrc.

That is why /etc/tor/torrc hasn’t been modified in years.

Should upstream decide to go with /usr/share/tor/tor-service-defaults-torrc we would have to rewind our change and go through all of this again.

On other other hand if we add %include /etc/torrc.d/ to /usr/share/tor/tor-service-defaults-torrc and upstream later decides to go with /etc/tor/torrc we are parsing the config files in a different order, which could also lead to confusion.


Added anon-connection-wizard to https://github.com/Whonix/Whonix/tree/master/packages, build, and uploaded to Whonix (14) developers repository. But it’s not yet sorted to install it by default due to above issue mainly.


Hi Patrick!

Thank you so much for your detailed explanation. I agree with you that before sorting out how to support torrc.d feature, we should not:

  1. include the anon-connection-wizard by default (since it modifies the /etc/tor/torrc)
  2. merge the integration with whonix-setup-wizard (since tor_status.py will be moved from whonix-setup-wizard to anon-connection-wizard )

I have sent an email to Debian BTS to see if there is anything I can help with.