#!/bin/bash # # Start/Stop the jondonym daemon set -e # include LSB functions if [ -f /lib/lsb/init-functions ] ; then . /lib/lsb/init-functions fi # Include the wrappers utility script if [ -f /usr/lib/java-wrappers/java-wrappers.sh ] ; then . /usr/lib/java-wrappers/java-wrappers.sh else echo "Error: java-wrappers not found! Please install java-wrappers first." exit 1 fi CONF="$HOME/.jondoconsole/jondoconsole.conf" LOGFILE="$HOME/.jondoconsole/jondoconsole.log" CACHE="$HOME/.jondoconsole/jondoconsole.sqlite" PIDFILE="$HOME/.jondoconsole/jondodaemon.pid" # some default settings ENABLE_CONTROL_PORT="no" CONTROL=" " USE_PROXY="no" PROXY=" " USE_PROXY_AUTH="no" PROXY_AUTH=" " ENABLE_FORWARDER="no" FORWARDER=" " ENABLE_JONDONYM="yes" JONDONYM="" LISTENER_ADDR=localhost LISTENER_PORT=4001 # search for suitable JRE find_java_runtime sun openjdk # Create config directory if [ ! -d "$HOME/.jondoconsole" ]; then mkdir "$HOME/.jondoconsole" fi # Include the main settings for the daemon if [ -f /etc/jondo/jondodaemon.conf ] ; then . /etc/jondo/jondodaemon.conf fi # Include the user settings for the daemon if [ -f "$HOME/.jondoconsole/jondodaemon.conf" ] ; then . "$HOME/.jondoconsole/jondodaemon.conf" fi case $1 in start) # backup the logfile if [ -e $HOME/.jondoconsole/jondoconsole.log ]; then if [ -e $HOME/.jondoconsole/jondoconsole.log.1 ]; then if [ -e $HOME/.jondoconsole/jondoconsole.log.2 ]; then rm $HOME/.jondoconsole/jondoconsole.log.2 fi mv $HOME/.jondoconsole/jondoconsole.log.1 $HOME/.jondoconsole/jondoconsole.log.2 fi mv $HOME/.jondoconsole/jondoconsole.log $HOME/.jondoconsole/jondoconsole.log.1 fi if [ "$ENABLE_CONTROL_PORT" == "yes" ]; then CONTROL="-d $CONTROL_LISTEN_ADDRESS:$CONTROL_LISTEN_PORT" fi if [ "$USE_PROXY" != "no" ]; then PROXY="-p $PROXY_HOST:$PROXY_PORT" fi if [ "$USE_PROXY_AUTH" != "no" ]; then PROXY_AUTH="-a $PROXY_USER:$PROXY_PASS" fi if [ "$ENABLE_FORWARDER" != "no" ]; then FORWARDER="-f $FORWARDER_LISTEN_PORT" fi if [ "$ENABLE_JONDONYM" != "yes" ]; then JONDONYM="-noJonDonymProxy" fi # Start the JonDo daemon /sbin/start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --make-pidfile --background --exec $JAVA_CMD -- -Djava.net.preferIPv4Stack=true -XX:-UsePerfData -jar /usr/share/java/JonDoConsole.jar -c $CONF -l $LOGFILE -s $CACHE $CONTROL $PROXY $PROXY_AUTH $FORWARDER $JONDONYM -n $LISTENER_ADDR:$LISTENER_PORT ;; stop) /sbin/start-stop-daemon --stop --oknodo --pidfile $PIDFILE --exec $JAVA_CMD if [ -e $PIDFILE ] then rm $PIDFILE fi ;; restart) $0 stop sleep 2 $0 start ;; status) ret=0 if [ -e $PIDFILE ] then status_of_proc -p ${PIDFILE} $JAVA_CMD 2>/dev/null || ret=$? else echo "is NOT running" fi ;; -t|--daemonAuthentication|passwd) $JAVA_CMD -Djava.net.preferIPv4Stack=true -jar /usr/share/java/JonDoConsole.jar -c $CONF -t ;; control|ctrl) rlwrap $JAVA_CMD -Djava.net.preferIPv4Stack=true -jar /usr/share/java/JonDoConsole.jar -i $CONTROL_LISTEN_ADDRESS:$CONTROL_LISTEN_PORT ;; trayicon|gtrayicon) GTRAYICON=`which gtrayicon` TRAYTOOLTIP="Start/Stop JonDoDaemon" case "$LANG" in de*|at*|ch*) TRAYTOOLTIP="JonDoDaemon starten/stoppen" ;; esac if [ $GTRAYICON ] ; then if [ -e $PIDFILE ] then gtrayicon --activate="jondodaemon start" --deactivate="jondodaemon stop" --activate-icon=/usr/share/jondodaemon/icons/jondodaemon-stopped.png --deactivate-icon=/usr/share/jondodaemon/icons/jondodaemon-running.png --tooltip="$TRAYTOOLTIP" --activated & else gtrayicon --activate="jondodaemon start" --deactivate="jondodaemon stop" --activate-icon=/usr/share/jondodaemon/icons/jondodaemon-stopped.png --deactivate-icon=/usr/share/jondodaemon/icons/jondodaemon-running.png --tooltip="$TRAYTOOLTIP" & fi else echo "gtrayicon is NOT installed! Please install the package gtrayicon first." fi ;; *) echo "Usage: $0 (start|stop|restart|status|passwd|control|ctrl|trayicon)" >&2 exit 1 ;; esac exit 0