Back to torsocks...

This page documents the history of torsocks leading up to the current version linked above... all its various old names, locations, authors... in one place.

A complete history of changes is maintained in the The initial working copy of torsocks was obtained through the following steps in June 2008:

To help with reconstructing the above steps a list of applied patches is available in the subdirectory of the torsocks tree.

The first release of torsocks contained the following enhancements:

  • Torifying reverse DSN requests through gethostbyaddr()
  • Blocking of UDP traffic from sendto() and its variants.
  • Use of Tor-friendly defaults if no configuration file available.
  • The addition of all RFC defined private address ranges to the default configuration.



This content imported from former location: doc/TSocksPatches

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

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.

Last modified 4 years ago Last modified on Dec 24, 2014, 12:16:12 AM