diff options
| -rw-r--r-- | home/.ssh/authorized_keys | 1 | ||||
| -rw-r--r-- | modules/retiolum/Makefile | 2 | ||||
| -rwxr-xr-x | modules/retiolum/scripts/tinc_setup/install.sh | 92 | ||||
| -rw-r--r-- | modules/retiolum/scripts/tinc_setup/write_channel.py | 26 | 
4 files changed, 82 insertions, 39 deletions
| diff --git a/home/.ssh/authorized_keys b/home/.ssh/authorized_keys index 4c4c8aed..ab09bfe5 100644 --- a/home/.ssh/authorized_keys +++ b/home/.ssh/authorized_keys @@ -3,3 +3,4 @@ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3SFNYGRiH0oz44G51MWx+o4cC3Fj+ez5DKO5jjtEF  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtDhAxjiCH0SmTGNDqmlKPug9qTf+IFOVjdXfk01lAV2KMVW00CgNo2d5kl5+6pM99K7zZO7Uo7pmSFLSCAg8J6cMRI3v5OxFsnQfcJ9TeGLZt/ua7F8YsyIIr5wtqKtFbujqve31q9xJMypEpiX4np3nLiHfYwcWu7AFAUY8UHcCNl4JXm6hsmPe+9f6Mg2jICOdkfMMn0LtW+iq1KZpw1Nka2YUSiE2YuUtV+V+YaVMzdcjknkVkZNqcVk6tbJ1ZyZKM+bFEnE4VkHJYDABZfELpcgBAszfWrVG0QpEFjVCUq5atpIVHJcWWDx072r0zgdTPcBuzsHHC5PRfVBLEw== makefu@arch  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAp83zynhIueJJsWlSEykVSBrrgBFKq38+vT8bRfa+csqyjZBl2SQFuCPo+Qbh49mwchpZRshBa9jQEIGqmXxv/PYdfBFQuOFgyUq9ZcTZUXqeynicg/SyOYFW86iiqYralIAkuGPfQ4howLPVyjTZtWeEeeEttom6p6LMY5Aumjz2em0FG0n9rRFY2fBzrdYAgk9C0N6ojCs/Gzknk9SGntA96MDqHJ1HXWFMfmwOLCnxtE5TY30MqSmkrJb7Fsejwjoqoe9Y/mCaR0LpG2cStC1+37GbHJNH0caCMaQCX8qdfgMVbWTVeFWtV6aWOaRgwLrPDYn4cHWQJqTfhtPrNQ== death@Uriel  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvZvfMwszjeUcmrs5Tpd4XJDVNDNUu3Qn3ZxgJzwuoys5LXxPcMikTO++dyrXl2kyexxgSMk6SZtuh34Xg0f9JDb5pN+DJwoeYv96lqTZ5QY4dn+1F0CoP+cK692GH14Kh1wBQyiL50Wj/iWR5/QHpRzrOLsepcZim1nL9FjsW6S2l+uDnUwC4x1EhsRezqJESJlqEsiS+kbhtiPybs7KcY0U4SkpYjfNjlpFE9eLrvSouoyQOUcIVjplcGIma/SVOVYWng4wQA0d5TkCAWAU0OZb0377KynDa7F8K/wN0hRGLGZGFbs3kNDJHqR1lt+sals8M6JO7qk1VVJJj1OsUw== pfleidi@pfleidimobile +ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQB2G4SpJ/UYxmTidUl8ytT6bdNGTdYvv2nmhQyaFBroNit3xdDOVxKvaMEGDuR6ncRugw5BBvrv6iPMTCFluHJxjuh6lk3JrrsJ8CT22ZOGsA593hRoXZOCrs5SxcFkw9EBiCuaHHlWiS9+Dffr6/zpkhH3djTz05uGnDrvtKuV/Zmu5XHAurNn+X3C5S/zk/y0n8o62iSQHVKeNBGO2WYhVce9d65Ucek5dOvXZYVKSe1LeAOKyeHWv+VWP8QlObmfVrQ5l1Pou6WV6Wpo85KBa/mmBJIygC9rrG+gx/1LX7JxStbCu/WoUlUwkSaP2qxWaET9KaSO8+2Wrg5i34ax== samuel@localhost diff --git a/modules/retiolum/Makefile b/modules/retiolum/Makefile index c1ebfe37..0d99ee70 100644 --- a/modules/retiolum/Makefile +++ b/modules/retiolum/Makefile @@ -12,4 +12,4 @@ update: /etc/tinc/retiolum/hosts  	cd $< && git pull  install: -	curl -k https://github.com/miefda/retiolum/raw/master/.scripts/tinc_setup/bootstrap.sh | sh +	scripts/tinc_setup/install.sh diff --git a/modules/retiolum/scripts/tinc_setup/install.sh b/modules/retiolum/scripts/tinc_setup/install.sh index 89465b64..8834aafc 100755 --- a/modules/retiolum/scripts/tinc_setup/install.sh +++ b/modules/retiolum/scripts/tinc_setup/install.sh @@ -1,29 +1,61 @@  #! /bin/sh  # USE WITH GREAT CAUTION +make -C ../../ update  set -e -myname="${1:-dummy}" -rel_hostsfile=`dirname $0`/.. -hostsfile=`readlink -f $rel_hostsfile` -netname=retiolum -myipv4="${2:-10.7.7.56}" -mynet4=10.7.7.0 +  CURR=`pwd` +MYBIN=../../bin +netname=retiolum  # create configuration directory for $netname -mkdir -p /etc/tinc/$netname +mkdir -p /etc/tinc/$netname/hosts  cd /etc/tinc/$netname -# get currently known hosts -cp -r $hostsfile hosts  echo "added known hosts:" -ls -1 | LC_ALL=C sort +ls -1 hosts | LC_ALL=C sort  echo "delete the nodes you do not trust!" +myname="${1:-}" +if [ ! "$myname" ]  +then +  echo "select username: " +  read myname +fi +if [ ! -e "hosts/$myname" ] +then +  myipv4="${2:-}" +  mynet4=10.7.7.0 +   +  if [ ! "$myipv4" ]  +  then +    echo "select v4 subnet ip (1-255) :" +    read v4num +    if [  "$v4num" -gt 0 -a "$v4num" -lt "256" ]; +    then  +      echo "check" +    else +      echo "you are made of stupid. bailing out"  +      exit 1 +    fi +    myipv4=10.7.7.$v4num +  fi +  echo "Subnet = $myipv4" > hosts/$myname + +  myipv6=`${CURR}/../../bin/fillxx 42:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx`/128 +  echo "Subnet = $myipv6" >> hosts/$myname +else +  echo "own host file already exists! will not write again!" +fi + + +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  ifconfig \$INTERFACE up $myipv4/24  route add -net $mynet4/24 dev \$INTERFACE +ip -6 addr add ${myipv6} dev \$INTERFACE +ip -6 route add 42::/16 dev \$INTERFACE  EOF  chmod +x tinc-up @@ -35,33 +67,17 @@ ConnectTo = kaah  ConnectTo = pa_sharepoint  Device = /dev/net/tun  EOF -echo "Subnet = $myipv4" > hosts/$myname -tincd -n $netname -K - -echo Writing Public Key to irc channel -cat>write_channel.py<<EOF -#!/usr/bin/python -import random, sys, time, socket -CHANNEL = '#tincspasm' -HOST='irc.freenode.net' -FILE="/etc/tinc/retiolum/hosts/$myname" -PORT=6667 -NICK= "${myname}_"+str(random.randint(23,666)) - -sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) -sock.connect((HOST,PORT)) -print NICK -sock.send("NICK %s\r\n" % NICK) -sock.send("USER %s %s bla : %s\r\n" %(NICK,HOST,NICK)) -sock.send("JOIN %s\r\n" % CHANNEL) -time.sleep(23) -f = open(FILE,'r')  -a = [ sock.send("PRIVMSG %s : %s" % ( CHANNEL,line)) for line in f] -time.sleep(5) #because irc is so lazy -print "closing socket" -sock.close() -EOF -python write_channel.py +if [ ! -e rsa_key.priv ]  +then +  echo "creating new keys" +  tincd -n $netname -K  +  python ${CURR}/write_channel.py || \ +  echo "cannot write public key to IRC, you are on your own. Good Luck" +else +  echo "key files already exist, skipping" +  echo "if you know what you are doing, remove rsa_key.priv" +fi  # add user tincd -useradd tincd +# this is what the setup scripts for the distribution has to do +#useradd tincd diff --git a/modules/retiolum/scripts/tinc_setup/write_channel.py b/modules/retiolum/scripts/tinc_setup/write_channel.py new file mode 100644 index 00000000..a11d4605 --- /dev/null +++ b/modules/retiolum/scripts/tinc_setup/write_channel.py @@ -0,0 +1,26 @@ +#!/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 +PORT=6667 +NICK= myname+"_"+str(random.randint(23,666)) + +sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) +sock.connect((HOST,PORT)) +print NICK +sock.send("NICK %s\r\n" % NICK) +sock.send("USER %s %s bla : %s\r\n" %(NICK,HOST,NICK)) +sock.send("JOIN %s\r\n" % CHANNEL) +time.sleep(23) +f = open(FILE,'r')  +a = [ sock.send("PRIVMSG %s : %s" % ( CHANNEL,line)) for line in f] +time.sleep(5) #because irc is so lazy +print "closing socket" +sock.close() | 
