Dieses Wiki ist ein Archiv bis 2023. Das aktuelle Wiki findet sich unter https://wiki.hamburg.ccc.de/

Difference between revisions of "ChaosVPN:Tims NetBSD chaosvpn rc.d"

From CCCHHWiki
Jump to: navigation, search
m
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
should probably change this to send signals instead of kill -9 hehe
 +
 +
 +
<nowiki>
 
#!/bin/sh
 
#!/bin/sh
 
#
 
#
 +
# $NetBSD: chaosvpn
 +
#
  
 
# PROVIDE: chaosvpn
 
# PROVIDE: chaosvpn
# REQUIRE: NETWORKING
+
# REQUIRE: inetd network LOGIN
# BEFORE:
 
# KEYWORD: nojail
 
  
 
+
$_rc_subr_loaded . /etc/rc.subr
 
 
# Define these chaosvpn_* variables in one of these files:
 
#      /etc/rc.conf
 
#      /etc/rc.conf.local
 
#      /etc/rc.conf.d/threeproxy
 
#
 
# DO NOT CHANGE THESE DEFAULT VALUES HERE
 
 
 
chaosvpn_enable=${chaosvpn_enable:-"NO"}
 
 
 
. /etc/rc.subr
 
  
 
name="chaosvpn"
 
name="chaosvpn"
rcvar="chaosvpn_enable"
 
command="/usr/local/sbin/chaosvpn"
 
start_precmd="chaosvpn_prestart"
 
 
start_cmd="chaosvpn_start"
 
start_cmd="chaosvpn_start"
 
stop_cmd="chaosvpn_stop"
 
stop_cmd="chaosvpn_stop"
#reload_cmd="chaosvpn_reload"
 
#extra_commands="reload"
 
procname=${command:-chaosvpn}
 
 
load_rc_config $name
 
  
: ${chaosvpn_config:="/usr/local/etc/tinc/chaosvpn.conf"}
+
chaosvpn_start(){
: ${chaosvpn_flags:="-d"}
 
  
chaosvpn_prestart()
+
  /usr/local/sbin/chaosvpn -d
{
+
  sleep 10
 +
  /usr/local/etc/tinc/chaos/tinc-up
  
 +
  #add logic in here later to check if its actually up
 +
  #for now just assume it worked, lol
 +
  echo "chaosvpn up..."
 
}
 
}
  
chaosvpn_start()
+
chaosvpn_stop(){
{
 
        for cfg in ${chaosvpn_config}
 
        do
 
                echo "Starting ChaosVPN for ${cfg}"
 
                $command -d -c $cfg
 
        done
 
}
 
  
chaosvpn_stop()
+
  echo "Killing ChaosVPN..."
{
+
  ps -aux | awk '/chaosvpn -d/ && !/awk/ {print $2}' | xargs -r kill -9
        echo "Killing ChaosVPN..."
+
  sleep 2 # once again, let things die...
        ps -aux | awk '/chaosvpn/ && !/awk/ {print $2}' | xargs -r kill -9
+
  echo "Killing tincd..."
        echo "Killing tincd..."
+
  ps -aux | awk '/tincd/ && !/awk/ {print $2}' | xargs -r kill -9
        ps -aux | awk '/tincd/ && !/awk/ {print $2}' | xargs -r kill -9
 
  
        #add logic in here later
+
  #add logic in here later to check if its actually down
        echo "done..."
+
  echo "chaosvpn down..."
 
}
 
}
  
 
run_rc_command "$1"
 
run_rc_command "$1"
 
# eof
 
# eof
 +
</nowiki>

Latest revision as of 20:50, 30 November 2013

should probably change this to send signals instead of kill -9 hehe


#!/bin/sh
#
# $NetBSD: chaosvpn
# 

# PROVIDE: chaosvpn
# REQUIRE: inetd network LOGIN

$_rc_subr_loaded . /etc/rc.subr

name="chaosvpn"
start_cmd="chaosvpn_start"
stop_cmd="chaosvpn_stop"

chaosvpn_start(){

  /usr/local/sbin/chaosvpn -d
  sleep 10
  /usr/local/etc/tinc/chaos/tinc-up

  #add logic in here later to check if its actually up
  #for now just assume it worked, lol
  echo "chaosvpn up..."
}

chaosvpn_stop(){

  echo "Killing ChaosVPN..."
  ps -aux | awk '/chaosvpn -d/ && !/awk/ {print $2}' | xargs -r kill -9
  sleep 2 # once again, let things die...
  echo "Killing tincd..."
  ps -aux | awk '/tincd/ && !/awk/ {print $2}' | xargs -r kill -9

  #add logic in here later to check if its actually down
  echo "chaosvpn down..."
}

run_rc_command "$1"
# eof