summaryrefslogtreecommitdiffstats
path: root/hosts/.scripts
diff options
context:
space:
mode:
authorroot <root@miefda901.localdomain>2011-05-26 15:52:03 +0200
committerroot <root@miefda901.localdomain>2011-05-26 15:52:03 +0200
commit6197a76a6aee4b49afe951291f46fb3318188f30 (patch)
tree3b580f20124908742c8154f109f74a8a99a1ef65 /hosts/.scripts
parentda1225c14e10fd94ed956a08c7bd5ddf99ee9a75 (diff)
parentb3b1187e2d1cb615405851174f044882346a6815 (diff)
Merge branch 'master' of github.com:miefda/retiolum
Diffstat (limited to 'hosts/.scripts')
-rwxr-xr-xhosts/.scripts/adv_graphgen/parse.py12
-rw-r--r--hosts/.scripts/autostart/Makefile8
-rwxr-xr-xhosts/.scripts/autostart/tinc94
3 files changed, 111 insertions, 3 deletions
diff --git a/hosts/.scripts/adv_graphgen/parse.py b/hosts/.scripts/adv_graphgen/parse.py
index 27fe3a99..04b42c33 100755
--- a/hosts/.scripts/adv_graphgen/parse.py
+++ b/hosts/.scripts/adv_graphgen/parse.py
@@ -1,4 +1,5 @@
#!/usr/bin/python2
+# -*- coding: utf8 -*-
import sys
""" TODO: Refactoring needed to pull the edges out of the node structures again,
@@ -35,23 +36,28 @@ def merge_edges(nodes):
def write_node(k,v):
- """ writes a single node and its edges """
+ """ writes a single node and its edges
+ edges are weightet with the informations inside the nodes provided by
+ tinc
+ """
node = " "+k+"[label=\""
node += k+"\\l"
node += "external:"+v['external-ip']+":"+v['external-port']+"\\l"
if v.has_key('num_conns'):
node += "Num Connects:"+str(v['num_conns'])+"\\l"
- node += "internal:"+v['internal-ip']+"\\l\""
+
+ node += "internal:"+v.get('internal-ip','¯\\\\(°_o)/¯')+"\\l\""
if v['external-ip'] == "MYSELF":
node += ",fillcolor=steelblue1"
node += "]"
print (node)
for con in v.get('to',[]):
- edge = " "+k+ " -> " +con['name'] + "[weight="+str(10/float(con['weight']))
+ edge = " "+k+ " -> " +con['name'] + "[weight="+str(float(con['weight']))
if con.get('bidirectional',False):
edge += ",dir=both"
edge += "]"
print edge
+
def parse_input():
nodes={}
for line in sys.stdin:
diff --git a/hosts/.scripts/autostart/Makefile b/hosts/.scripts/autostart/Makefile
new file mode 100644
index 00000000..7ca589e1
--- /dev/null
+++ b/hosts/.scripts/autostart/Makefile
@@ -0,0 +1,8 @@
+INIT_FOLDER=/etc/init.d
+.phony: all
+all:
+ #TODO change the tinc file before writing
+ cp tinc $(INIT_FOLDER)/tinc
+ chmod +x $(INIT_FOLDER)/tinc
+ echo "retiolum" > /etc/tinc/nets.boot
+ update-rc.d tinc defaults
diff --git a/hosts/.scripts/autostart/tinc b/hosts/.scripts/autostart/tinc
new file mode 100755
index 00000000..12e77d6a
--- /dev/null
+++ b/hosts/.scripts/autostart/tinc
@@ -0,0 +1,94 @@
+#! /bin/sh
+#
+### BEGIN INIT INFO
+# Provides: tinc
+# Required-Start: $remote_fs $network
+# Required-Stop: $remote_fs $network
+# Should-Start: $syslog $named
+# Should-Stop: $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start tinc daemons
+# Description: Create a file $NETSFILE (/etc/tinc/nets.boot),
+# and put all the names of the networks in there.
+# These names must be valid directory names under
+# $TCONF (/etc/tinc). Lines starting with a # will be
+# ignored in this file.
+### END INIT INFO
+#
+# Based on Lubomir Bulej's Redhat init script.
+
+DAEMON="/usr/sbin/tincd"
+NAME="tinc"
+DESC="tinc daemons"
+TCONF="/etc/tinc"
+NETSFILE="$TCONF/nets.boot"
+NETS=""
+
+modprobe tun
+
+test -f $DAEMON || exit 0
+
+[ -r /etc/default/tinc ] && . /etc/default/tinc
+
+# foreach_net "what-to-say" action [arguments...]
+foreach_net() {
+ if [ ! -f $NETSFILE ] ; then
+ echo "Please create $NETSFILE."
+ exit 0
+ fi
+ echo -n "$1"
+ shift
+ egrep '^[ ]*[a-zA-Z0-9_-]+' $NETSFILE | while read net args; do
+ echo -n " $net"
+ "$@" $net $args
+ done
+ echo "."
+}
+
+start() {
+ $DAEMON $EXTRA -n "$@"
+}
+stop() {
+ $DAEMON -n $1 -k
+}
+reload() {
+ $DAEMON -n $1 -kHUP
+}
+restart() {
+ stop "$@"
+ sleep 0.5
+ i=0;
+ while [ -f /var/run/tinc.$1.pid ] ; do
+ if [ $i = '10' ] ; then
+ break
+ else
+ echo -n "."
+ sleep 0.5
+ i=$(($i+1))
+ fi
+ done
+ start "$@"
+}
+
+case "$1" in
+ start)
+ foreach_net "Starting $DESC:" start
+ ;;
+ stop)
+ foreach_net "Stopping $DESC:" stop
+ ;;
+ reload|force-reload)
+ foreach_net "Reloading $DESC configuration:" reload
+ ;;
+ restart)
+ foreach_net "Restarting $DESC:" restart
+ ;;
+ *)
+ echo "Usage: /etc/init.d/$NAME {start|stop|reload|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
+