1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #!/bin/sh
- # A script to turn tor sock4a in privoxy on or off.
- CONFFILE=/etc/privoxy/config # privoxy config file.
- TOR_REG="forward.*localhost:9050" # Regular expression open the 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 "\
- Usage:
- privoxy.tor <-- No arguments. Switch the tor on or off.
- privoxy.tor [on|off] <-- Set the tor on or off.
- privoxy.tor !.*xia <-- Any argument other than above shows
- current status of the tor.
- 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 "The 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 the 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 = --help ] || [ $1 = -h ] || [ $1 = "-?" ] ; then
- usage
- exit 0
- else
- get_status
- echo "Currently, the tor is $tor_status."
- fi
|