diff options
author | makefu <github@syntax-fehler.de> | 2012-12-07 22:34:39 +0100 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2012-12-07 22:34:39 +0100 |
commit | ad09d521243d9275d2af99b5aa5b67b9f79d3a77 (patch) | |
tree | e0d2b03045b62fbda60f9fb59d8e7be12d4a2e43 | |
parent | bedf7d79f297e3584757e8ebf3995aafd46daf7a (diff) |
write_channel.py rewritten to announce_pubkey
announce_pubkey is a shell-only implementation of the now obsolete write_channel script to announce a hosts public key
the only dependency of this script is telnet, haven't seen a system without it for a while now
-rw-r--r-- | retiolum/bin/announce_pubkey | 35 | ||||
-rwxr-xr-x | retiolum/scripts/tinc_setup/install.sh | 2 | ||||
-rw-r--r-- | retiolum/scripts/tinc_setup/write_channel.py | 27 |
3 files changed, 36 insertions, 28 deletions
diff --git a/retiolum/bin/announce_pubkey b/retiolum/bin/announce_pubkey new file mode 100644 index 00000000..ce5aed19 --- /dev/null +++ b/retiolum/bin/announce_pubkey @@ -0,0 +1,35 @@ +#!/bin/sh +set -euf +HOST="${1:-}" + +usage (){ +cat <<EOF +usage: $0 HOSTNAME + +also, you are made of stupid +EOF +exit 23 +} + +[ "x$HOST" = "x" ] && usage + +CHANNEL="#krebsco" +IRCHOST="irc.freenode.net" +PORT=6667 +RETIOLUM="/etc/tinc/retiolum" +PUBFILE="$RETIOLUM/hosts/$HOST" + +if [ ! -e $PUBFILE ] ;then + echo "cannot find $PUBFILE - host $HOST wrong?" ; + echo + usage +fi + +NICK="${HOST}_$((RANDOM%666))" + +( echo "NICK $NICK"; + echo "USER $NICK $IRCHOST bla : $NICK"; + echo "JOIN $CHANNEL"; + sleep 23; + sed "s/^\(.*\)/PRIVMSG $CHANNEL : \1/" $PUBFILE; + sleep 5; ) | telnet $IRCHOST $PORT diff --git a/retiolum/scripts/tinc_setup/install.sh b/retiolum/scripts/tinc_setup/install.sh index a6b50b8a..2e36b83a 100755 --- a/retiolum/scripts/tinc_setup/install.sh +++ b/retiolum/scripts/tinc_setup/install.sh @@ -73,7 +73,7 @@ if [ ! -e rsa_key.priv ] then echo "creating new keys" tincd -n $netname -K - python ${CURR}/write_channel.py $myname || \ + $MYBIN/announce_pubkey $myname || \ echo "cannot write public key to IRC, you are on your own. Good Luck" else echo "key files already exist, skipping" diff --git a/retiolum/scripts/tinc_setup/write_channel.py b/retiolum/scripts/tinc_setup/write_channel.py deleted file mode 100644 index 8299fa8d..00000000 --- a/retiolum/scripts/tinc_setup/write_channel.py +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/python -import random, sys, time, socket -try: - myname=sys.argv[1] -except: - print("you are made of stupid") - exit (23) - -CHANNEL = '#krebsco' -HOST='irc.freenode.net' -FILE="/etc/tinc/retiolum/hosts/"+myname -PORT=6667 -NICK= myname+"_"+str(random.randint(23,666)) - -print("Connecting...") -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() |