With Tor itself, it is only possible to do TCP due to SOCKS5 limitations. OnionCat allows you to do more than TCP through Tor; how does this work?
2 Answers
OnionCat is a Tor-based decentralized peer-to-peer VPN. It acts like a single IPv6 subnet hidden inside Tor permitting a hidden service to be transformed into an IPv6 address on the subnet. In BSD land this shows up as a tun(4) device. One can do udp (dns, nfs, etc) or tcp or even IPSec between OnionCat instances (and only between OnionCat instances; not out to the clearnet).
As the OpenBSD ports tree states:
OnionCat creates a transparent IP layer on top of Tor's hidden services. It transmits any kind of IP-based data transparently through the Tor network on a location hidden basis. You can think of it as a point-to-multipoint VPN between hidden services.
More info can be found here. OnionCat is not officially associated with the Tor Project.
- 121
- 6
I try an alternative simplistic explanation.
- You need to set up a hidden service.
- Your partner needs to set up a hidden service.
OnionCat :
- connects from hidden service to hidden service.
- provides an IPv6 for you
- provides an IPv6 for your partner
Now you can use IPv6, TCP and UDP with your partner.
What is OnionCat NOT:
- A magic way to let you connect to clear-net destinations using UDP. (Tor does not yet natively support UDP.)
- A magic way to let you connect to clear-net destinations using IPv6. (Tor does not yet natively support IPv6.)
- A magic way to route everything through Tor, like if you were using a VPN.