diff options
| -rwxr-xr-x | modules/retiolum/bin/addipv6 | 19 | ||||
| -rwxr-xr-x | modules/retiolum/bin/ipv6 | 35 | ||||
| -rwxr-xr-x | modules/retiolum/bin/tinc | 18 | ||||
| -rwxr-xr-x | modules/retiolum/scripts/tinc_setup/install.sh | 6 | ||||
| -rw-r--r-- | modules/retiolum/scripts/tinc_setup/write_channel.py | 9 | 
5 files changed, 62 insertions, 25 deletions
| diff --git a/modules/retiolum/bin/addipv6 b/modules/retiolum/bin/addipv6 deleted file mode 100755 index da82e0d1..00000000 --- a/modules/retiolum/bin/addipv6 +++ /dev/null @@ -1,19 +0,0 @@ -#! /bin/sh -# -# Add IPv6 to the retiolum interface. -# -# usage: addipv6 -# -set -euf - -file=/etc/tinc/retiolum/hosts/`hostname` -addr=`sed -rn 's|^Subnet *= *(42:[0-9A-Fa-f:]*/128)|\1|p' $file` - -if test `id -u` != 0; then -  echo "we're going sudo..." >&2 -  exec sudo "$0" "$@" -  exit 23 # go to hell -fi - -ip -6 addr add $addr dev retiolum -ip -6 route add 42::/16 dev retiolum diff --git a/modules/retiolum/bin/ipv6 b/modules/retiolum/bin/ipv6 new file mode 100755 index 00000000..65a1eaa1 --- /dev/null +++ b/modules/retiolum/bin/ipv6 @@ -0,0 +1,35 @@ +#! /bin/sh +# +# Manage IPv6 of the retiolum interface. +# +# usage: ipv6 {start,stop} +# +set -euf + +if test `id -u` != 0; then +  echo "we're going sudo..." >&2 +  exec sudo "$0" "$@" +  exit 23 # go to hell +fi + +file=/etc/tinc/retiolum/hosts/`hostname` +addr=`sed -rn 's|^Subnet *= *(42:[0-9A-Fa-f:]*/128)|\1|p' $file` +route=42::/16 + +start() { +  stop +  ip -6 addr add $addr dev retiolum +  ip -6 route add $route dev retiolum +} + +stop() { +  ip -6 addr del $addr dev retiolum 2>/dev/null || : +  ip -6 route del $route dev retiolum 2>/dev/null || : +} + +## dispatch +case "$1" in +  (start) start;; +  (stop) stop;; +  (*) echo "You're made of stupid" 2>/dev/null; exit 23;; +esac diff --git a/modules/retiolum/bin/tinc b/modules/retiolum/bin/tinc new file mode 100755 index 00000000..ffa1dbee --- /dev/null +++ b/modules/retiolum/bin/tinc @@ -0,0 +1,18 @@ +#! /bin/sh +# +set -euf + +init() { +  f=/tmp/retiolum.GraphDumpFile +  if ! test -f $f; then +    touch $f && +    chown -v tincd: $f +  fi + +  modprobe -v tun +} + +if init; then +  exec tincd --user=tincd --net=retiolum "$@" +fi + diff --git a/modules/retiolum/scripts/tinc_setup/install.sh b/modules/retiolum/scripts/tinc_setup/install.sh index b7679041..8834aafc 100755 --- a/modules/retiolum/scripts/tinc_setup/install.sh +++ b/modules/retiolum/scripts/tinc_setup/install.sh @@ -2,13 +2,11 @@  # USE WITH GREAT CAUTION  make -C ../../ update -  set -e -  CURR=`pwd`  MYBIN=../../bin -netname=penisland +netname=retiolum  # create configuration directory for $netname  mkdir -p /etc/tinc/$netname/hosts  cd /etc/tinc/$netname @@ -50,7 +48,7 @@ else  fi -myipv6=${myipv6:-`sed -rn 's|^Subnet *= *(42:[0-9A-Fa-f:]*/128)|\1|p' /etc/tinc/$netname/hosts/$myname`} +myipv6=${myipv6-`sed -rn 's|^Subnet *= *(42:[0-9A-Fa-f:]*/128)|\1|p' /etc/tinc/$netname/hosts/$myname`}  cat>tinc-up<<EOF  #! /bin/sh diff --git a/modules/retiolum/scripts/tinc_setup/write_channel.py b/modules/retiolum/scripts/tinc_setup/write_channel.py index 71866a8d..a11d4605 100644 --- a/modules/retiolum/scripts/tinc_setup/write_channel.py +++ b/modules/retiolum/scripts/tinc_setup/write_channel.py @@ -1,11 +1,16 @@  #!/usr/bin/python  import random, sys, time, socket +try: +  myname=sys.argv[1] +except: +  print "you are made of stupid" +  exit (23)  CHANNEL = '#tincspasm'  HOST='irc.freenode.net' -FILE="/etc/tinc/retiolum/hosts/$myname" +FILE="/etc/tinc/retiolum/hosts/"+myname  PORT=6667 -NICK= "${myname}_"+str(random.randint(23,666)) +NICK= myname+"_"+str(random.randint(23,666))  sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)  sock.connect((HOST,PORT)) | 
