Redirect Whonix-Workstation Ports or Unix Domain Socket Files to Whonix-Gateway

From Whonix
Jump to navigation Jump to search



Port or unix domain socket file redirection could be useful for any future applications that expect Tor or the ControlPort to listen on any specific port or unix domain socket file that is not (yet) added to anon-ws-disable-stacked-tor build-ins or config by default, or for any other port or unix domain socket file redirections from the workstation to the gateway.


To create a port or unix domain socket file, it is required to create and extend config file /etc/anon-ws-disable-stacked-tor.d/50_user.conf. [1]

Inside Whonix-Workstation ™.

Note: Qubes-Whonix ™ users should use folder /etc/anon-ws-disable-stacked-tor.d rather than folder /usr/local/etc/anon-ws-disable-stacked-tor.d/ and apply this in whonix-ws-16 TemplateVM. [2]

Create folder /usr/local/etc/anon-ws-disable-stacked-tor.d/.

sudo mkdir -p /usr/local/etc/anon-ws-disable-stacked-tor.d

Open file /usr/local/etc/anon-ws-disable-stacked-tor.d/50_user.conf in an editor with root rights.

This box uses sudoedit for better security. This is an example and other tools can also achieve the same goal. If this example does not work for you or if you are not using Whonix ™, please refer to this link.

sudoedit /usr/local/etc/anon-ws-disable-stacked-tor.d/50_user.conf

Then either add a port redirection.

For example to redirect Whonix-Workstation ™ port 9100 to Whonix-Gateway ™ port 9050. Note: adjust the port numbers for your needs.

file_port_tuples+=" port#9100:9050 "

Or create a unix domain socket file /var/run/anon-ws-disable-stacked-tor/unix-domain-socket-file.sock and have it forwarded to Whonix-Gateway ™ port 9050.

file_port_tuples+=" /var/run/anon-ws-disable-stacked-tor/unix-domain-socket-file.sock#9050 "


Run the systemd-socket-proxyd systemd-unit-files-generator. [3]

sudo /usr/libexec/anon-ws-disable-stacked-tor/systemd-unit-files-generator

The process of creating a redirection is now complete.


To test /var/run/anon-ws-disable-stacked-tor/unix-domain-socket-file.sock, you could use:

socat - UNIX-CONNECT:/var/run/anon-ws-disable-stacked-tor/unix-domain-socket-file.sock

Then type:


Then press <enter>.

The expected reply includes Tor is not an HTTP Proxy.


  2. The missing Qubes-Whonix feature is that /usr/libexec/anon-ws-disable-stacked-tor/systemd-unit-files-generator doesn't run at boot time and that files generated by /usr/libexec/anon-ws-disable-stacked-tor/systemd-unit-files-generator don't persist after reboot of a TemplateBasedVM.