socksify - runtime socksification of selected programs
The shell script socksify is meant to aid in using socks with
already compiled dynamic binaries. This works by setting the LD_PRELOAD
environment variable to libdsocks. It will then attempt to wrap all
networking-related system calls.
When used the script can socksify a program by simply prefixing
the given program and its arguments with the socksify script, like in the
example below.
$ socksify ftp ftp.example.org
The socksify script, and the Dante socks library used by the
socksify script, can interpret several environment variables.
- SOCKS_CONF
- Gives the name of the socks.conf file. Default is /etc/socks.conf, unless
it was changed when compiling the Dante libsocks libraries.
Creating a socks.conf is the recommended way to use socksify,
but socksify can also be used for most simple configurations without any
socks.conf file, as long as the proxy server to use is set in one of the
supported environment variables.
- SOCKS_DEBUG
- Enables debug logging. The value given should be a number, one or up,
indicating the level of debugging provided.
- SOCKS_LOGOUTPUT
- This value controls where the client library sends logoutput. It can be
either syslog, stdout, stderr, a filename, or a
combination. The default is nowhere.
- SOCKS_USERNAME
- Use the value of SOCKS_USERNAME as the username when doing username
authentication.
- SOCKS_PASSWORD
- Use the value of SOCKS_PASSWORD as the password when doing username
authentication. Not recommended as other users on the system might be able
to see your password.
- SOCKS_SERVER,
SOCKS4_SERVER, SOCKS5_SERVER,
- These variables allow the address of the server to be specified without
using a socks.conf file. If a socks.conf-file is present, it is ignored if
any of these variables are set.
The accepted format is <ipaddress>:<port>. If the
SOCKS_SERVER value is set, it indicates the specified server
supports all socks versions supported by Dante. If if either of the
other two variables are used, they indicate the given socks server
supports only the corresponding socks version, v4 or v5. Note that if
the socks server requires any form of authentication, you need to use
SOCKS5_SERVER, as v4 does not support authentication.
- HTTP_CONNECT_PROXY
- This variable can be used to specify the location of a HTTP proxy
supporting the connect request. The format used to specify a HTTP proxy is
http://<ipaddress>:<port>.
- UPNP_IGD
- This variable can be used to specify the location of a UPNP enabled IGD
router. There are three possible value for this variable: a full URL, the
interface name the router is reachable via, or the value
"broadcast" to search for the IGD on all appropriate interfaces.
- Note that if any of the
above environment variables, indicating the
- proxy server to use are set, the Dante client will not parse the
socks.conf file.
- SOCKS_AUTOADD_LANROUTES
- If this variable is set to "no", the client will not try to
auto-add direct routes for all addresses on the LAN. The default is to add
them.
- SOCKS_DISABLE_THREADLOCK
- If this variable is set, the client will not perform threadlocking. The
default is for the client to attempt to figure out for itself whether the
application to socksify needs threadlocking or not.
- SOCKS_DIRECTROUTE_FALLBACK
- If this is set to "yes", the client will fallback to attempting
a direct connection if the proxy route fails. The default is
"no".
For inferno Nettverk A/S:
Michael Shuldman
Karl-Andre' Skevik
See the accompanying BUGS file. New ones should be reported to
dante-bugs@inet.no.