Version 39 (modified by cypherpunks, 6 years ago) (diff)


The current torsocks code is found here: . Everything below is historical and preserved for that purpose.

merge into

The program tsocks shows promise as a wrapper script for making individual client applications work with Tor. Already, tsocks intercepts system calls that use the TCP stack and encapsulates them using SOCKS. However, there are a number of problems with tsocks. For example, tsocks does not intercept gethostbyname() system calls, leaking DNS requests in a manner that compromises the anonymity of Tor users. Additionally, tsocks contains a number of serious bugs, and it does not currently build on Mac OS X. For these reasons, we do not currently recommend that Tor users use tsocks. Nonetheless, we believe that it may be sufficient to create a new version of tsocks that carefully integrates all of the following patches:

  1. Patch from Total Information Security to resolve the DNS leakage problem and allow access to addresses with nonstandard hostnames (e.g. those ending in .onion).
  1. Patch from Marc Abramowitz to allow tsocks to compile on Mac OS X. (Host i no longer in DNS, so link is dead)
  1. Patch from weasel to resolve an infinite loop that occurs when the server just disconnects when tsocks expects a reply.
  1. Patch from weasel to intercept getpeername().
  1. Patch from Roderick Schertler to fix a minor bug in the documentation.
  1. Some patches offered by the FreeBSD ports maintainers.
  1. Patch from Roger Dingledine to only call as local if the config file doesn't provide one.

There is now a fork of tsocks specifically for use with Tor, called torsocks.

Torsocks contains patches 1, 3, 4, 5, 6 and 7 above. It also contains a number of enhancements.

Historically, there was also Ruben Garcia's tsocks incorporating the above patches, but that has now been deprecated for use with tor according to the link. It is still used by people who don't use tor but want to socksify an application.