#!/bin/sh # # tor Anonymizing overlay network for TCP (The onion router) # # chkconfig: - 85 15 # description: Tor is a connection-based low-latency anonymous \ # communication system. # processname: tor # config: /etc/tor/torrc # pidfile: /var/run/tor.pid # Do not load RH compatibility interface. WITHOUT_RC_COMPAT=1 # Source function library. . /etc/init.d/functions PIDFILE=/var/run/tor/tor.pid LOCKFILE=/var/lock/subsys/tor TORUSER=_tor TROGROUP=_tor TORBIN=/usr/bin/tor TORCONF=/etc/tor/torrc # DataDirectory and Log options set in /etc/tor/torrc # Note: this prevents running tor by normal users without creating config # file in ~/.tor/torrc #TORDATA=/var/cache/tor #TORLOG=/var/log/tor/tor.log #TORARGS="-f $TORCONF --pidfile $PIDFILE --runasdaemon 1 --log \"notice file $TORLOG \" --datadirectory $TORDATA" TORARGS="-f $TORCONF --pidfile $PIDFILE --runasdaemon 1" if [ "x$TORUSER" != "x" ]; then TORARGS="$TORARGS --user $TORUSER" fi if [ "x$TORGROUP" != "x" ]; then TORARGS="$TORARGS --group $TORGROUP" fi RETVAL=0 start() { start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" \ --expect-user $TORUSER -- \ $TORBIN $TORARGS RETVAL=$? return $RETVAL } stop() { stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user $TORUSER -- $TORBIN RETVAL=$? return $RETVAL } restart() { stop start } reload() { msg_reloading tor stop_daemon --pidfile "$PIDFILE" --expect-user $TORUSER -HUP -- $TORBIN RETVAL=$? return $RETVAL } # See how we were called. case "$1" in start) start ;; stop) stop ;; reload) reload ;; restart) restart ;; condstop) if [ -e "$LOCKFILE" ]; then stop fi ;; condrestart) if [ -e "$LOCKFILE" ]; then restart fi ;; condreload) if [ -e "$LOCKFILE" ]; then reload fi ;; status) status --pidfile "$PIDFILE" --expect-user $TORUSER -- $TORBIN RETVAL=$? ;; *) msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|condreload|status}" RETVAL=1 esac exit $RETVAL