Onioncat ist written in a portable manner, thus it runs on almost all operating systems, even on Windows. This document describes how to run Onioncat on a Windows 10 installation together with the Tor browser bundle.
The Windows part of the code was already written in 2008, hence Onioncat on Windows is nothing new. This document is here to meet recent versions of Windows, Tor, and Onioncat.
Preface
If you read this article you probably know what you are doing, aren’t you?
Windows is not the type of operating system which is known for its good security. Onioncat is solely used in conjunction with Tor or I2P, both being anti-surveillance tools. If you intend to use Onioncat you are probably in a situation where security matters and you should consider to use a system which is designed for such circumstances, e.g. Tails, or some other Linux distributions which are much more transparent than Windows.
If you don’t know how to use these other systems but you really need high security you should probably seek advice from somebody near you.
If you’re still happy with Windows go ahead and read on.
Prequisites
Onioncat needs a tunnel device which is a virtual Ethernet adapter. Windows does not natively support such an adapter but OpenVPN includes the necessary driver. Hence you need to download and install OpenVPN from here https://openvpn.net/community-downloads/. Choose the right Windows version. During the setup procedure you can choose the components to install. You can leave the default settings but actually you just need the “TAP Virtual Ethernet Adapter”.
Download and install Tor. It seems that Tor for Windows can only be downloaded as the Tor Browser Bundle but that doesn’t matter. Download and install it from here: https://www.torproject.org/download/. Before running the Tor browser we have to configure it which is explained in the next step.
Download the precompiled Windows 10 files of Onioncat from here: https://www.cypherpunk.at/ocat/download/Windows/. Unzip the archive. The file contains two EXE files and a DLL. Copy these three files to C:\Windows\System32 (note: if you don’t like that, you can keep the files where ever like).
Configure Tor
Before starting the Tor browser (which will start a local Tor node) we need to configure a hidden service.
Open the “File Explorer” and navigate to the folder “This PC > Desktop > Tor Browser > Browser > TorBrowser > Data > Tor”. The folder contains the configuration file of Tor named torrc
.

Right-click it, chose “Open with” and select the Notepad. Make sure that the Tor browser is not running because otherwise it will overwrite the file after you edited it. The Notepad will open the file and show its contents. Copy the following lines into it. They configure two hidden services for Onioncat.
HiddenServiceDir TorBrowser\Data\Tor\onioncat_hsv2 HiddenServiceVersion 2 HiddenServicePort 8060 127.0.0.1:8060 HiddenServiceDir TorBrowser\Data\Tor\onioncat_hsv3 HiddenServiceVersion 3 HiddenServicePort 8060 127.0.0.1:8060
Save the file and close the Notepad. Now you can start the Tor browser (there should be an icon on your desktop) and click on “Connect”.
After it started successfully, again go to the File Explorer to the same directory (“This PC > Desktop > Tor Browser > Browser > TorBrowser > Data > Tor”). Two additional folders should have appeared: “onioncat_hsv2” and “onioncat_hsv3”. Navigate into “onioncat_hsv2”, there’s a file named “hostname”. Open it with the Notepad (right-click -> “Open with” -> “Notepad”). The file contains the onion ID of your v2 hidden service, e.g. 2e6c3gboyngav2rq.onion
. Keep the file open, you will need this string in the next step.
Configure and Run Onioncat
Now we create a shortcut to run Onioncat. Right-click on the desktop, then “New->Shortcut” and either browse to the ocat.exe (which you copied to C:\Windows\System32\ocat.exe) or just paste the path to it into the text field: C:\Windows\System32\ocat.exe
(adjust the path if you keep it somewhere else on your hard drive). Then click “Next” and “Finish”.
Your shortcut icon appears on the desktop. Now right-click on it again and choose “Properties”. The properties window will open. We need to add some command line arguments to Onioncat in the “Target” field: -t 9150 -U 2e6c3gboyngav2rq.onion
. Copy the .onion name from the “hostname file” we opened above. Finally, the entry should look like this:
C:\Windows\System32\ocat.exe -t 9150 -U 2e6c3gboyngav2rq.onion
Option -t 9150
is used to tell Onioncat the SOCKS port of Tor. By default this is 9050 but with the Tor browser bundle it was change to 9150. Option -U
tells Onioncat to use bidirectional mode (instead of unidirectional). This increases the speed of the connection setup and it may be easier in combination with v3 hidden services (Read Onioncat and Tor hidden services v3 for more information.).
Click “Ok” and start Onioncat simply by double-clicking the shortcut icon. A command window will open and Onioncat will output a bunch of messages like the following:

Test Setup
Tor is running, Onioncat is running, you are ready to test the setup. Actually you need a second Onioncat node somewhere. Of course, a single Onioncat instance doesn’t make much sense 😉
Try to ping another running Onioncat node. Get its IPv6 address and open a command window (type cmd
in the Windows search bar on the bottom of the screen and press enter). Now enter the command ping
followed by the IPv6 address of the target node. It may take a while (a few seconds) until the first pings will get replied.
C:\Users\dummy> ping fd87:d87e:eb43:4506:3bbb:9faf:5877:4319 Pinging fd87:d87e:eb43:4506:3bbb:9faf:5877:4319 with 32 bytes of data: Request timed out. Reply from fd87:d87e:eb43:4506:3bbb:9faf:5877:4319: time=249ms Reply from fd87:d87e:eb43:4506:3bbb:9faf:5877:4319: time=361ms Reply from fd87:d87e:eb43:4506:3bbb:9faf:5877:4319: time=263ms Ping statistics for fd87:d87e:eb43:4506:3bbb:9faf:5877:4319: Packets: Sent = 4, Received = 3, Lost = 1 (25% loss), Approximate round trip times in milli-seconds: Minimum = 249ms, Maximum = 361ms, Average = 291ms
25 comments
Skip to comment form
its giving error, it doesnt work
Author
If you specify the “error” a little bit more precise I can probably help you.
quando for colocar os cammandos precisa apagar os anteriores ou dar algum espaço entre os commandos anteriores?
Author
Sorry, not sure what you mean, could you please be more precise.
single Onioncat instance doesn’t make much sense ¿?¿? then why not end this tutorial…
Author
Of course, a single instance doesn’t make any sense. It is assumed that there are other instances around and this HOWTO explains how to setup one on Windows.
I guess u mean do same repeating process with…. onioncat_hsv3 .onion name from the “hostname file” we opened in …..v3 subdir
Author
I guess you refer to the OnionCat/HSv3 article.
Yes, all V3 instances share the same v3-hosts file which shall contain a list of all 3 IPv6 addresses together with the v3 hostnames.
It opens up then immediately closes, can you help me with this?
Author
You can increase the log level by setting option `-d 7`
Probably it gives some indication of what is going wrong.
when i execute this, i am using hsv3
ocat.exe -t 9150 -u 72n5adnt5fbbehrzyoun4v5ryqsr734ebuva4bweepqou767lrqo62qd.onion
this is the error
C:\Windows\System32>ocat.exe -t 9150 -U 72n5adnt5fbbehrzyoun4v5ryqsr734ebuva4bweepqou767lrqo62qd.onion
Mon, 21 Jun 2021 16:33:35.286 -0400 [0:main : info] onioncat 0.3.8 (c) Bernhard R. Fischer (OnionCat mode)
Mon, 21 Jun 2021 16:33:35.294 -0400 [0:main : info] MAC address 00:00:6c:ef:6a:03
Mon, 21 Jun 2021 16:33:35.299 -0400 [0:main : err] RegOpenKeyEx “SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\Properties” failed. Error = 0
Mon, 21 Jun 2021 16:33:35.312 -0400 [0:main : err] RegOpenKeyEx “SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\Properties” failed. Error = 0
Mon, 21 Jun 2021 16:33:35.323 -0400 [0:main : err] RegOpenKeyEx “SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\Properties” failed. Error = 0
Mon, 21 Jun 2021 16:33:35.328 -0400 [0:main : alert] could not find TAP driver with valid componentId. Probly not installed
Mon, 21 Jun 2021 16:33:35.336 -0400 [0:main : emerg] could not open tundev /dev/tun0: No such file or directory
Mon, 21 Jun 2021 16:33:35.341 -0400 [0:main : crit] error opening TUN/TAP device
thanks
Author
Did you install the OpenVPN Tap driver?
Yes I install openvpn, I suposed that the openvpn installations get the driver
Thanks
Author
Meanwhile I found out that this happens with OpenVPN 2.5.x but it works with the latest OpenVPN 2.4.x.
Best regards,
Bernhard
sorry -u is -U
Did everything like it says, even tried with onion v3 config, still getting error in onioncat CMD:
no route to destination dropping frame.
no route to destination dropping frame.
no route to destination dropping frame.
Thu, 14 Oct 2021 12:29:11.541 +0200 [0:main : info] onioncat 0.3.8 (c) Bernhard R. Fischer (OnionCat mode)
Thu, 14 Oct 2021 12:29:11.544 +0200 [0:main : info] MAC address
Thu, 14 Oct 2021 12:29:11.546 +0200 [0:main : info] IPv6 address
Thu, 14 Oct 2021 12:29:11.548 +0200 [0:main : info] TUN/TAP device Local Area Connection 2
Thu, 14 Oct 2021 12:29:11.552 +0200 [0:main :warning] can’t get information for user “tor”: “user not found”, defaulting to uid 65534
Thu, 14 Oct 2021 12:29:11.555 +0200 [0:main :notice] disabling connect log
Thu, 14 Oct 2021 12:29:11.561 +0200 [0:main : info] starting packet forwarder
Thu, 14 Oct 2021 12:29:11.562 +0200 [2:acceptor : info] connection 10 [0] accepted on listener 5 from 127.0.0.1 port 9285
Thu, 14 Oct 2021 12:29:11.577 +0200 [0:main : err] no route to destination ff02::1:2, dropping frame.
Thu, 14 Oct 2021 12:29:11.578 +0200 [2:acceptor : info] inserting peer fd 10 to active peer list
Thu, 14 Oct 2021 12:29:11.591 +0200 [1:receiver : info] incoming connection on 10 from is now identified
Thu, 14 Oct 2021 12:29:11.670 +0200 [6:lloopback : info] loopback_handler ready listening on
Thu, 14 Oct 2021 12:29:11.856 +0200 [0:main : err] no route to destination ff02::2, dropping frame.
Thu, 14 Oct 2021 12:29:11.858 +0200 [0:main : err] no route to destination ff02::16, dropping frame.
Thu, 14 Oct 2021 12:29:12.354 +0200 [0:main : err] no route to destination ff02::16, dropping frame.
Thu, 14 Oct 2021 12:29:12.558 +0200 [0:main : err] no route to destination ff02::1:2, dropping frame.
Thu, 14 Oct 2021 12:29:12.854 +0200 [0:main : err] no route to destination ff02::16, dropping frame.
Thu, 14 Oct 2021 12:29:12.856 +0200 [0:main : err] no route to destination ff02::fb, dropping frame.
Thu, 14 Oct 2021 12:29:12.857 +0200 [0:main : err] no route to destination ff02::fb, dropping frame.
Thu, 14 Oct 2021 12:29:12.858 +0200 [0:main : err] no route to destination ff02::16, dropping frame.
hmmm, maybe the errors dont matter? the adapters rn look like this: https://imgur.com/a/ymzMhuY
But windows is still using (Falling back) to WiFi adapter, thus my ip is not hidden
After editing torrc, I get a
“Tor exited during startup. This might be due to an error in your torrc file, a bug in Tor or another program on your system, or faulty hardware. Until you fix the underlying problem and restart Tor, Tor Browser will not start.”
Am I doing it wrong or does this no longer exist??
Author
“no route to destination ff02::16, dropping frame.”
That does not matter, you can ignore this. It only says that it cannot route multicast packets.
In a recent version I removed this error message since it is misleading and I was asked over and over again 😉
the link https://www.cypherpunk.at is broken, so I can’t install the compiled executable.
Author
Yes, there’s no maintainer for the page.
Github is the main repository: https://github.com/rahra/onioncat/releases/tag/v4.10.0
i.e. do I have to compile myself with cygwin? if so what packages do i need to install in cygwin to compile onioncat through it?
Author
Yes. Sorry, I don’t have time at the moment. But it’s easy. You need the packages gcc and make within Cygwin. Then download the source tar.gz from the releases, unpack it, and just run `./configure` and `make`.
Author
Hi!
I just built a recent Windows version:
https://www.abenteuerland.at/ocat/download/Windows/
Best regards,
Bernhard