1#! /bin/sh
2
3# This script used to call (the now deprecated) tsocks as a fallback in case
4# torsocks wasn't installed.
5# Now, it's just a backwards compatible shim around torsocks with reasonable
6# behavior if -v/--verbose or -h/--help arguments are passed.
7#
8# Copyright (c) 2004, 2006, 2009 Peter Palfrader
9# Modified by Jacob Appelbaum <jacob@appelbaum.net> April 16th 2006
10# Stripped of all the tsocks cruft by ugh on February 22nd 2012
11# May be distributed under the same terms as Tor itself
12
13
14compat() {
15	echo "torify is now just a wrapper around torsocks(1) for backwards compatibility."
16}
17
18usage() {
19	compat
20	echo "Usage: $0 [-hv] <command> [<options>...]"
21}
22
23case $# in 0)
24	usage >&2
25	exit 1
26esac
27
28case $# in 1)
29	case $1 in -h|--help)
30		usage
31		exit 0
32	esac
33esac
34
35case $1 in -v|--verbose)
36	compat >&2
37	shift
38esac
39
40# taken from Debian's Developer's Reference, 6.4
41pathfind() {
42       OLDIFS="$IFS"
43       IFS=:
44       for p in $PATH; do
45               if [ -x "$p/$*" ]; then
46                       IFS="$OLDIFS"
47                       return 0
48               fi
49       done
50       IFS="$OLDIFS"
51       return 1
52}
53
54if pathfind torsocks; then
55    exec torsocks "$@"
56    echo "$0: Failed to exec torsocks $*" >&2
57    exit 1
58else
59    echo "$0: torsocks not found in your PATH.  Perhaps it isn't installed?  (tsocks is no longer supported, for security reasons.)" >&2
60fi
61
62