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.
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!
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.
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:
repair_torrc.py
tor_status.py
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 !
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.
Remove tor_status.py from whonix-setup-wizard package since an extended version of it is available in anon-connection-wizard package.
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:
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.
Tor was already enabled without bridges (by whonix-setup-wizard).
sudo apt-get install anon-connection-wizard
kdesudo anon-connection-wizard
Next, next, next. Ended up with an empty page after the summary page.
Job for tor@default.service failed because the control process exited with error code.
See "systemctl status tor@default.service" and "journalctl -xe" for details.
Unexpected tor_status: cannot_connect
Could you please handle the error(s) better? On Unexpected tor_status: cannot_connect there should not be an empty page.
cat /etc/torrc.d/40_anon_connection_wizard.torrc
# This file is generated by and should ONLY be used by anon-connection-wizard.
# User's manual configuration should go to /etc/torrc.d/50_user.torrc, not here. Because:
# 1. This file can be easily overwritten by anon-connection-wizard.
# 2. Even a single character change in this file may cause error.
# However, deleting this file will be fine since a new plain file will be generated the next time you run anon-connection-wizard.
And Tor fails to start since config has only comments.
Dec 23 14:18:19 host tor[6768]: Dec 23 14:18:19.141 [warn] Error reading included configuration file or directory: "/etc/torrc.d".
Dec 23 14:18:19 host tor[6768]: Dec 23 14:18:19.141 [err] Reading config failed--see warnings above.
Dec 23 14:18:19 host systemd[1]: tor@default.service: Main process exited, code=exited, status=1/FAILURE
Dec 23 14:18:19 host systemd[1]: Failed to start Anonymizing overlay network for TCP.
Empty /etc/torrc.d/40_anon_connection_wizard.torrc is a anon-connection-wizard bug? But Tor refusing to start due to a config file with comments only is a Tor bug? Could you report that one please?
After deleting /etc/tor/torrc and /etc/torrc.d/40_anon_connection_wizard.torrc it did not work for me either. Same error.
Perhaps DisableNetwork 0 should always be inside /etc/torrc.d/40_anon_connection_wizard.torrc rather than /etc/tor/torrc?