blob: d430da8ce7454b7bd4d8ff5cbb0c8cc58767e81a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
#! /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, 2009 Peter Palfrader
# Modified by Jacob Appelbaum <jacob@appelbaum.net> April 16th 2006
# May be distributed under the same terms as Tor itself
# taken from Debian's Developer's Reference, 6.4
pathfind() {
OLDIFS="$IFS"
IFS=:
for p in $PATH; do
if [ -x "$p/$*" ]; then
IFS="$OLDIFS"
return 0
fi
done
IFS="$OLDIFS"
return 1
}
# Check for any argument list
if [ "$#" = 0 ]; then
echo "Usage: $0 [-hv] <command> [<options>...]" >&2
exit 1
fi
if [ "$#" = 1 ] && ( [ "$1" = "-h" ] || [ "$1" = "--help" ] ); then
echo "Usage: $0 [-hv] <command> [<options>...]"
exit 0
fi
if [ "$1" = "-v" ] || [ "$1" = "--verbose" ]; then
verbose=1
shift 1
else
verbose=0
fi
if pathfind torsocks; then
! [ "$verbose" -ge 1 ] || echo "Using torsocks as socksifier." >&2
exec torsocks "$@"
echo "$0: Failed to exec torsocks $@" >&2
exit 1
elif pathfind tsocks; then
! [ "$verbose" -ge 1 ] || echo "Using tsocks as socksifier." >&2
# 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. If you had torsocks we would use that." >&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
else
echo "$0: Can't find either tsocks or torsocks in your PATH. Perhaps you haven't installed either?" >&2
exit 1
fi
|