| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | 
							- #!/bin/sh
 
- TORLOC=/Library/StartupItems/Tor/Tor.loc
 
- if [ -f $TORLOC ]; then
 
-  TORDIR=`cat /Library/StartupItems/Tor/Tor.loc`
 
-  if [ "x$TORDIR" = "x" -o ! -d $TORDIR -o ! -x $TORDIR/tor ]; then
 
-    TORDIR=/Library/Tor
 
-  fi
 
- else
 
-  TORDIR=/Library/Tor
 
- fi
 
- TORCONF=$TORDIR/torrc
 
- TORDATA=$TORDIR/var/lib/tor
 
- TORPID=/var/run/Tor.pid
 
- TORUSER=_tor
 
- TORGROUP=daemon
 
- TORCMD=$TORDIR/tor
 
- TORLOG=/var/log/tor.log
 
- ## Determine OSX Version
 
- # map version to name
 
- if [ -x /usr/bin/sw_vers ]; then
 
- # This is poor, yet functional.  We don't care about the 3rd number in
 
- # the OS version
 
-   OSVER=`/usr/bin/sw_vers | grep ProductVersion | cut -f2 | cut -d"." -f1,2`
 
-       case "$OSVER" in
 
- 	"10.5") OS="leopard" ARCH="universal";;
 
-  	"10.4") OS="tiger" ARCH="universal";;
 
-  	"10.3") OS="panther" ARCH="ppc";;
 
-  	"10.2") OS="jaguar" ARCH="ppc";;
 
-  	"10.1") OS="puma" ARCH="ppc";;
 
-  	"10.0") OS="cheetah" ARCH="ppc";;
 
-       esac
 
- else
 
- 	OS="unknown"
 
- fi
 
-  
 
- if [ $ARCH != "universal" ]; then
 
- 	export EVENT_NOKQUEUE=1
 
- fi
 
- ##
 
- # Tor Service
 
- ##
 
- . /etc/rc.common
 
- StartService ()
 
- {
 
-     if [ -f $TORCMD ]; then
 
-         if pid=$(GetPID Tor); then
 
-             return 0
 
-         else
 
- 		ConsoleMessage "Starting Tor Service"
 
- # Tentative
 
- # Making sure it is not running (I know it is not a best approarch)
 
- 		killall tor 2>/dev/null
 
- 		$TORCMD -f "$TORCONF" --runasdaemon 1 --pidfile "$TORPID" --datadirectory "$TORDATA" --user "$TORUSER" --group "$TORGROUP" --log "notice file $TORLOG" &
 
- 	fi
 
-     fi
 
- }
 
- StopService ()
 
- {
 
-     if pid=$(GetPID Tor); then
 
- 	ConsoleMessage "Stopping Tor Service"
 
- 	kill -TERM "${pid}"
 
- # Just for sanity (sometimes necessary.)
 
- 	killall tor 2>/dev/null
 
-     else
 
- 	ConsoleMessage "Tor Service not responding."
 
- # Just for sanity (sometimes necessary.)
 
- 	killall tor 2>/dev/null
 
-     fi
 
- }
 
- RestartService () { StopService; StartService; }
 
- if [ "$#" = 0 ]; then
 
-   echo "Syntax: tor {start|stop}"
 
-   exit 1
 
- fi 
 
- RunService "$1"
 
 
  |