Provided by: tsocks_1.8beta5+ds1-1ubuntu1_amd64 bug

NAME

       tsocks  -  Library  for  intercepting  outgoing  network  connections and redirecting them
       through a SOCKS server.

SYNOPSIS

       Set LD_PRELOAD to load the library then use applications as normal

       The syntax to force preload of the library for different shells is specified below:

       Bash, Ksh and Bourne shell -

       export LD_PRELOAD=/lib/libtsocks.so

       C Shell -

       setenv LD_PRELOAD=/lib/libtsocks.so

       This process can be automated (for Bash, Bourne and Korn shell users) for a single command
       or for all commands in a shell session by using the tsocks(1) script

       You  can  also  setup tsocks in such a way that all processes automatically use it, a very
       useful configuration. For more information on this configuration see the  CAVEATS  section
       of this manual page.

DESCRIPTION

       tsocks  is  a  library  to allow transparent SOCKS proxying. It wraps the normal connect()
       function. When a connection is attempted, it consults the  configuration  file  (which  is
       defined  at  configure  time  but  defaults  to  ~/.tsocks.conf and if that file cannot be
       accessed, to /etc/tsocks.conf) and determines if the IP address specified is local. If  it
       is  not,  the  library  redirects  the  connection  to  a  SOCKS  server  specified in the
       configuration file. It then negotiates that connection with the SOCKS  server  and  passes
       the connection back to the calling program.

       tsocks  is designed for use in machines which are firewalled from then internet. It avoids
       the need to recompile applications like lynx or telnet so they can use SOCKS to reach  the
       internet. It behaves much like the SOCKSified TCP/IP stacks seen on other platforms.

   ARGUMENTS
       Most  arguments to tsocks are provided in the configuration file (the location of which is
       defined  at  configure  time  by  the  --with-conf=<file>   argument   but   defaults   to
       /etc/tsocks.conf). The structure of this file is documented in tsocks.conf(8)

       Some  configuration  options  can  be specified at run time using environment variables as
       follows:

       TSOCKS_CONF_FILE
              This  environment  variable  overrides  the  default   location   of   the   tsocks
              configuration  file. This variable is not honored if the program tsocks is embedded
              in is setuid. In addition this environment variable can be compiled out  of  tsocks
              with the --disable-envconf argument to configure at build time

       TSOCKS_DEBUG
              This  environment  variable sets the level of debug output that should be generated
              by tsocks (debug output is generated in the form of output to standard  error).  If
              this  variable  is  not  present  by  default  the  logging level is set to 0 which
              indicates that only error messages should be output.  Setting it to  higher  values
              will  cause tsocks to generate more messages describing what it is doing. If set to
              -1 tsocks will output absolutely no error  or  debugging  messages.  This  is  only
              needed if tsocks output interferes with a program it is embedded in. Message output
              can be permanently compiled out of tsocks by specifying the --disable-debug  option
              to configure at build time

       TSOCKS_DEBUG_FILE
              This option can be used to redirect the tsocks output (which would normally be sent
              to standard error) to a file. This variable is not honored if the program tsocks is
              embedded  in  is  setuid.  For  programs where tsocks output interferes with normal
              operation  this  option  is  generally  better  than   disabling   messages   (with
              TSOCKS_DEBUG = -1)

       TSOCKS_USERNAME
              This  environment  variable  can  be  used  to specify the username to be used when
              version 5 SOCKS servers request username/password  authentication.  This  overrides
              the  default  username  that  can  be  specified  in  the  configuration file using
              'default_user', see tsocks.conf(8) for more information. This variable  is  ignored
              for version 4 SOCKS servers.

       TSOCKS_PASSWORD
              This  environment  variable  can  be  used  to specify the password to be used when
              version 5 SOCKS servers request username/password  authentication.  This  overrides
              the  default  password  that  can  be  specified  in  the  configuration file using
              'default_pass', see tsocks.conf(8) for more information. This variable  is  ignored
              for version 4 SOCKS servers.

   DNS ISSUES
       tsocks will normally not be able to send DNS queries through a SOCKS server since SOCKS V4
       works on TCP and DNS normally uses UDP. Version 1.5 and up do however provide a method  to
       force  DNS  lookups  to  use  TCP,  which  then makes them proxyable. This option can only
       enabled at compile time, please consult the INSTALL file for more information.

   ERRORS
       tsocks will generate error messages and print them to stderr when there are problems  with
       the  configuration  file  or  the  SOCKS  negotiation  with the server if the TSOCKS_DEBUG
       environment variable is not set to -1 or and --disable-debug was not specified at  compile
       time. This output may cause some problems with programs that redirect standard error.

   CAVEATS
       tsocks  will  not  in  the above configuration be able to provide SOCKS proxying to setuid
       applications or applications that are not run from a shell. You can force all applications
       to  LD_PRELOAD  the library by placing the path to libtsocks in /etc/ld.so.preload. Please
       make sure you correctly enter the full path to the library in this file if you do this. If
       you get it wrong, you will be UNABLE TO DO ANYTHING with the machine and will have to boot
       it with a rescue disk and remove the file (or try the saveme program, see the INSTALL file
       for  more  info).  THIS IS A ***WARNING***, please be careful. Also be sure the library is
       in the root filesystem as all hell will break loose if the  directory  it  is  in  is  not
       available at boot time.

BUGS

       tsocks can only proxy outgoing TCP connections

       tsocks  does  NOT  work  correctly with asynchronous sockets (though it does work with non
       blocking sockets). This bug would be very difficult to fix and  there  appears  to  be  no
       demand for it (I know of no major application that uses asynchronous sockets)

       tsocks  is  NOT  fully  RFC compliant in its implementation of version 5 of SOCKS, it only
       supports the 'username and password' or 'no authentication'  authentication  methods.  The
       RFC  specifies  GSSAPI  must  be supported by any compliant implementation. I haven't done
       this, anyone want to help?

       tsocks can force the libc resolver to use TCP for name queries, if it does this it does it
       regardless  of  whether  or  not  the  DNS  to be queried is local or not. This introduces
       overhead and should only be used when needed.

       tsocks uses ELF dynamic loader features to intercept dynamic function calls from  programs
       in  which  it  is embedded.  As a result, it cannot trace the actions of statically linked
       executables, non-ELF executables, or executables that make system calls directly with  the
       system call trap or through the syscall() routine.

FILES

       /etc/tsocks.conf - default tsocks configuration file

SEE ALSO

       tsocks.conf(5) tsocks(1)

AUTHOR

       Shaun Clowes (delius@progsoc.uts.edu.au)

COPYRIGHT

       Copyright 2000 Shaun Clowes

       tsocks  and  its  documentation  may  be  freely  copied under the terms and conditions of
       version 2 of the GNU General Public License, as published by the Free Software  Foundation
       (Cambridge, Massachusetts, United States of America).

       This  documentation  is  based  on the documentation for logwrites, another shared library
       interceptor. One line of code from it was used in tsocks and a lot of the documentation :)
       logwrites is by adam@yggdrasil.com (Adam J. Richter) and can be had from ftp.yggdrasil.com
       pub/dist/pkg