| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 | #! /bin/sh# Wrapper script for use of the tsocks(8) transparent socksification library# See the tsocks(1) and torify(1) manpages.# Copyright (c) 2004, 2006 Peter Palfrader# Modified by Jacob Appelbaum <jacob@appelbaum.net> April 16th 2006# May be distributed under the same terms as Tor itself# Define and ensure we have tsocks# XXX: what if we don't have which?TORSOCKS="`which torsocks`"TSOCKS="`which tsocks`"PROG=""if [ ! -x "$TSOCKS" ]then	echo "$0: Can't find tsocks in PATH. Perhaps you haven't installed it?" >&2else	PROG=$TSOCKSfiif [ ! -x "$TORSOCKS" ]then	echo "$0: Can't find torsocks in PATH. Perhaps you haven't installed it?" >&2else	PROG=$TORSOCKSfiif [ ! -x "$PROG" ]then	echo "$0: Can't find the required tor helpers in our PATH. Perhaps you haven't installed them?" >&2	exit 1;fi# Check for any argument listif [ "$#" = 0 ]then	echo "Usage: $0 [-hv] <command> [<options>...]" >&2	exit 1fiif [ "$#" = 1 ] && ( [ "$1" = "-h" ] || [ "$1" = "--help" ] )then	echo "Usage: $0 [-hv] <command> [<options>...]"	exit 0fiif [ "$1" = "-v" ] || [ "$1" = "--verbose" ]then	echo "We're armed with the following tsocks: $TSOCKS"	echo "We're armed with the following torsocks: $TORSOCKS"	echo "We're attempting to use $PROG for all tor action."	shift 1fiif [ "$PROG" = "$TSOCKS" ]then	# Define our tsocks config file	TSOCKS_CONF_FILE="/etc/tor/tor-tsocks.conf"	export TSOCKS_CONF_FILE	# Check that we've got a tsocks config file	if [ -r "$TSOCKS_CONF_FILE" ]	then		echo "WARNING: tsocks is known to leak DNS and UDP data." >&2		exec tsocks "$@"		echo "$0: Failed to exec tsocks $@" >&2		exit 1	else		echo "$0: Missing tsocks configuration file \"$TSOCKS_CONF_FILE\"." >&2		exit 1	fifiif [ "$PROG" = "$TORSOCKS" ]then	exec torsocks "$@"fi
 |