12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #!/bin/sh
- # A script to turn Tor SOCKS4a in Privoxy on or off.
- CONFFILE=/etc/privoxy/config # privoxy config file.
- TOR_REG="forward.*localhost:9050" # Regular expression to find Tor in privoxy
- PRIVOXY="/etc/init.d/privoxy restart" # command to reload privoxy config file.
- SED="/bin/sed" # sed command, of course.
- GREP="/bin/grep" # grep command.
- usage () {
- echo "\
- privoxy-tor-toggle: Change Privoxy's configuration to use/not use Tor.
- Usage:
- privoxy.tor <-- Switch Tor on or off.
- privoxy.tor [on|off] <-- Set Tor on or off.
- privoxy.tor status <-- Display Tor's current status.
- privoxy.tor [-h|--help|-?] <-- Print usage.
- "
- }
- # Find out the current status of tor. Set $tor_status
- get_status () {
- gret=`$GREP -l -e "^$TOR_REG" $CONFFILE`
- if [ x$gret = x ] ; then
- tor_status=off;
- else
- tor_status=on;
- fi
- return
- }
- # Turn tor on/off according to $1
- set_tor () {
- tor_gate=$1
- get_status
- if [ $tor_status = $tor_gate ] ; then
- echo "Tor is already $1."
- return
- elif [ $tor_gate = flip ] ; then
- if [ $tor_status = on ] ; then
- tor_gate=off
- elif [ $tor_status = off ] ; then
- tor_gate=on
- fi
- fi
- echo "Turning Tor $tor_gate..."
- if [ $tor_gate = on ] ; then
- reg=s/^#\($TOR_REG\)/\\1/
- $SED -i.bak -r "$reg" $CONFFILE
- else
- reg=s/^\($TOR_REG\)/#\\1/
- $SED -i.bak -r "$reg" $CONFFILE
- fi
- $PRIVOXY
- return 0;
- }
- if [ x$1 = x ] ; then
- set_tor flip
- elif [ $1 = on ] ; then
- set_tor on
- elif [ $1 = off ] ; then
- set_tor off
- elif [ $1 = status ] ; then
- get_status
- echo "Tor is $tor_status"
- elif [ $1 = --help ] || [ $1 = -h ] || [ $1 = "-?" ] ; then
- usage
- exit 0
- else
- echo "Unrecognized option: \"$1\""
- fi
|