Man Linux: Main Page and Category List

NAME

       torsocks.conf - configuration file for torsocks(8)

SUMMARY

       By  default,  torsocks  will assume that it should connect to the SOCKS
       proxy running at 127.0.0.1 on port 9050. This is  the  default  address
       and  port  for  Tor’s  socks  server  on most installations. If you are
       running a normal Tor installation and  have  no  special  requirements,
       then you should not need to create, edit or invoke a configuration file
       when using torsocks.

       Your installation of torsocks includes  a  default  configuration  file
       that  contains values sensible for use with most Tor installations. The
       installation location for your default configuration file is:

         /etc/torsocks.conf

       In order to use a configuration file,  you  must  set  the  environment
       variable TORSOCKS_CONF_FILE with the location of the file.

       If  TORSOCKS_CONF_FILE  is  not  set, torsocks will attempt to read the
       configuration file at /etc/torsocks.conf. If that file cannot be  read,
       torsocks will use sensible defaults for most Tor installations, i.e. it
       will assume that you want to use a SOCKS  proxy  running  at  127.0.0.1
       (localhost) on port 9050.

       An  example of typical usage is provided under the ’example’ heading at
       the end of this manual page. The script ’usewithtor’ provided with your
       torsocks  installation  will set this environment variable for you, and
       load the configuration file provided with your installation.

       If you want to use a custom file in a different  location,  you  should
       set  the  environment  variable  yourself  and  then  use  the torsocks
       command, rather than usewithtor.

OVERVIEW

       The configuration for torsocks  can  be  anything  from  two  lines  to
       hundreds  of lines based on the needs at any particular site. The basic
       idea is to define any networks the machine  can  access  directly  (i.e
       without the use of a SOCKS server) and define one or many SOCKS servers
       to be used to access other networks (including a ’default’ server).

       Local  networks  are  declared  using  the  ’local’  keyword   in   the
       configuration file. When applications attempt to connect to machines in
       networks marked as local torsocks will  not  attempt  to  use  a  SOCKS
       server to negotiate the connection.

       Obviously  if  a  connection  is not to a locally accessible network it
       will  need  to  be  proxied  over  a  SOCKS   server.   However,   many
       installations have several different SOCKS servers to be used to access
       different  internal  (and  external)  networks.  For  this  reason  the
       configuration  file  allows  the  definition  of  ‘paths’  as well as a
       default SOCKS server.

       Paths are declared as blocks in the configuration file. That  is,  they
       begin with a ’path {’ line in the configuration file and end with a ’}’
       line. Inside this block directives should be used to  declare  a  SOCKS
       server  (as  documented  later  in  this  manual  page)  and  ’reaches’
       directives should be used to  declare  networks  and  even  destination
       ports  in  those networks that this server should be used to reach. N.B
       Each path MUST define a SOCKS server and contain one or more  ’reaches’
       directives.

       SOCKS  server  declaration  directives  that are not contained within a
       ’path’ block define the default SOCKS  server.  If  torsocks  needs  to
       connect  to  a  machine  via  a  SOCKS  server  (i.e it isn’t a network
       declared as ’local’) and no ’path’  has  declared  it  can  reach  that
       network  via a ’reaches’ directive this server is used to negotiate the
       connection.

CONFIGURATION SYNTAX

       The basic structure of all lines in the configuration file is:

              <directive> = <parameters>

       The exception to this is ’path’ blocks which look like:

              path {
                     <directive> = <parameters>
              }

       Empty lines are ignored and all input on a line after a  ’#’  character
       is ignored.

   DIRECTIVES
       The following directives are used in the torsocks configuration file:

       server The  IP address of the SOCKS server (e.g "server = 10.1.4.253").
              Only one server may be specified per path block, or one  outside
              a  path  block (to define the default server). Unless --disable-
              hostnames was specified to configure at compile time the  server
              can be specified as a hostname (e.g "server = socks.nec.com")

       server_port
              The  port  on which the SOCKS server receives requests. Only one
              server_port may be specified per path block, or  one  outside  a
              path (for the default server). This directive is not required if
              the server is on the standard port (1080).

       server_type
              SOCKS version used by the server. Versions 4 and 5 are supported
              (but  both  for  only the connect operation).  The default is 4.
              Only one server_type may be specified per  path  block,  or  one
              outside a path (for the default server).

              You  can use the inspectorsocks utility to determine the type of
              server, see the ’UTILITIES’ section later in this manual page.

       default_user
              This specifies the default username to be used for username  and
              password   authentication  in  SOCKS  version  5.  In  order  to
              determine the username to use  (if  the  socks  server  requires
              username  and  password authentication) torsocks first looks for
              the environment variable TSOCKS_USERNAME, then  looks  for  this
              configuration  option,  then  tries  to  get the local username.
              This option is not valid for SOCKS version 4 servers.  Only  one
              default_user  may  be specified per path block, or one outside a
              path (for the default server)

       default_pass
              This specified the default password to be used for username  and
              password   authentication  in  SOCKS  version  5.  In  order  to
              determine the password to use  (if  the  socks  server  requires
              username  and  password authentication) torsocks first looks for
              the environment variable TSOCKS_PASSWORD, then  looks  for  this
              configuration option. This option is not valid for SOCKS version
              4 servers. Onle one  default_pass  may  be  specified  per  path
              block, or one outside a path (for the default server)

       local  An  IP/Subnet  pair  specifying  a network which may be accessed
              directly without proxying through a SOCKS server (e.g  "local  =
              10.0.0.0/255.0.0.0").   Obviously  all SOCKS server IP addresses
              must be in networks specified as local, otherwise torsocks would
              need a SOCKS server to reach SOCKS servers.

       reaches
              This  directive is only valid inside a path block. Its parameter
              is formed as IP[:startport[-endport]]/Subnet and it specifies  a
              network  (and  a  range  of  ports  on that network) that can be
              accessed by the SOCKS server specified in this path  block.  For
              example, in a path block "reaches = 150.0.0.0:80-1024/255.0.0.0"
              indicates to torsocks that the SOCKS  server  specified  in  the
              current path block should be used to access any IPs in the range
              150.0.0.0 to 150.255.255.255 when the connection request is  for
              ports 80-1024.

       tordns_enable
              This  enables the use of the ’tordns’ feature in torsocks, which
              overrides the standard C library name resolution  calls  to  use
              SOCKS.    The default value is ‘true’.

       tordns_deadpool_range
              Tor  hidden sites do not have real IP addresses.  This specifies
              what range of IP addresses will be handed to the application  as
              "cookies"  for .onion names.  Of course, you should pick a block
              of addresses which you aren’t going to  ever  need  to  actually
              connect to. The default value is ’127.0.69.0/255.255.255.0’.

       tordns_cache_size
              This  specifies  the  number  of  IP addresses looked up through
              SOCKS to cache.  The default value is 256.  Each entry  consumes
              260  bytes  of  memory,  so  the  default  adds  66,560 bytes of
              overhead to each ’torified’ process. NOTE: if the number  of  IP
              addresses  in  tordns_deadpool_range  is  less  than  the  value
              specified for tordns_cache_size, then the cache will  be  shrunk
              to fit the deadpool range. This is to prevent duplicate deadpool
              addresses from ever appearing in the cache.

UTILITIES

       torsocks comes with two utilities that can be useful  in  creating  and
       verifying the torsocks configuration file.

EXAMPLE

         export TORSOCKS_CONF_FILE=$PWD/torsocks.conf
         torsocks ssh account@sshserver.com

SEE ALSO

       torsocks(8)

AUTHOR

       Robert       Hogan      (robert@roberthogan.net)      Shaun      Clowes
       (delius@progsoc.uts.edu.au)

COPYRIGHT

       Copyright 2009 Robert Hogan Copyright 2000 Shaun Clowes

       Renamed for use by torsocks to avoid conflict with torsocks  by  Robert
       Hogan.

       torsocks 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
       torsocks  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