summaryrefslogtreecommitdiff
path: root/contrib/torify.in
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/torify.in')
-rwxr-xr-xcontrib/torify.in65
1 files changed, 48 insertions, 17 deletions
diff --git a/contrib/torify.in b/contrib/torify.in
index 05645fd07c..6b1e440dc1 100755
--- a/contrib/torify.in
+++ b/contrib/torify.in
@@ -10,36 +10,67 @@
# 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?" >&2
- exit 1
+ echo "$0: Can't find tsocks in PATH. Perhaps you haven't installed it?" >&2
+else
+ PROG=$TSOCKS
+fi
+if [ ! -x "$TORSOCKS" ]
+then
+ echo "$0: Can't find torsocks in PATH. Perhaps you haven't installed it?" >&2
+else
+ PROG=$TORSOCKS
+fi
+
+if [ ! -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 list
if [ "$#" = 0 ]
then
- echo "Usage: $0 <command> [<options>...]" >&2
- exit 1
+ echo "Usage: $0 [-hv] <command> [<options>...]" >&2
+ exit 1
fi
if [ "$#" = 1 ] && ( [ "$1" = "-h" ] || [ "$1" = "--help" ] )
then
- echo "Usage: $0 <command> [<options>...]"
- exit 0
+ echo "Usage: $0 [-hv] <command> [<options>...]"
+ exit 0
fi
-# Define our tsocks config file
-TSOCKS_CONF_FILE="@CONFDIR@/tor-tsocks.conf"
-export TSOCKS_CONF_FILE
+if [ "$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 1
+fi
-# Check that we've got a tsocks config file
-if [ -r "$TSOCKS_CONF_FILE" ]
+if [ "$PROG" == "$TSOCKS" ]
then
- exec tsocks "$@"
- echo "$0: Failed to exec tsocks $@" >&2
- exit 1
-else
- echo "$0: Missing tsocks configuration file \"$TSOCKS_CONF_FILE\"." >&2
- exit 1
+ # 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
+ fi
+fi
+if [ "$PROG" == "$TORSOCKS" ]
+then
+ exec torsocks "$@"
fi