diff options
Diffstat (limited to 'retiolum')
155 files changed, 3344 insertions, 0 deletions
diff --git a/retiolum/Makefile b/retiolum/Makefile new file mode 100755 index 00000000..b3a3c124 --- /dev/null +++ b/retiolum/Makefile @@ -0,0 +1,32 @@ +.PHONY: update all install hosts + +EXES := update_tinc_hosts fillxx update-retiolum-hosts + +all: update links + +links: + for x in $(EXES); do ln -snf ../retiolum/bin/$$x ../bin; done + + +install: upgrade + ../punani/bin/punani install tinc python + scripts/tinc_setup/install.sh + sudo cp scripts/tinc_setup/tinc-up /etc/tinc/retiolum/tinc-up + +upgrade: update + if ! diff -u scripts/tinc_setup/tinc-up /etc/tinc/retiolum/tinc-up; then \ + sudo cp scripts/tinc_setup/tinc-up /etc/tinc/retiolum/tinc-up; \ + sudo bin/restart-tincd || :; \ + fi + +update: hosts + bin/update_tinc_hosts "create magic" || :; + bin/update_tinc_hosts restart + sudo pkill -HUP tincd || :; + +startup: + scripts/autostart/create-startup.sh + +hosts: + bin/update-retiolum-hosts || :; + sudo bin/patch-retiolum-hosts diff --git a/retiolum/README b/retiolum/README new file mode 100644 index 00000000..6e39f1d5 --- /dev/null +++ b/retiolum/README @@ -0,0 +1,52 @@ +Retiolum Darknet Module for Krebs +======================== + +Enter the darknet with the help of tinc retiolum + +Getting Started +------------- + +as root: + + wget -O- http://tinc.krebsco.de | HOSTN=yourfavoritename sh + +( or use curl) + +Get the hosts +------------- + + wget http://euer.krebsco.de/retiolum/hosts.tar.gz # for all the hosts + wget http://euer.krebsco.de/retiolum/supernodes.tar.gz # only for supernodes, (deploy on wrt routers for example) + + # quick update + curl http://euer.krebsco.de/retiolum/supernodes.tar.gz | gunzip | tar x -C /etc/tinc/retiolum/hosts + +Update your hosts file +---------------------- + +to resolve the krebs nodes in the darknet + + make -C krebs/retiolum update + + +Graphs +------ + + # in the darknet + firefox http://pigstarter/graphs/retiolum + # in the internet,anonymous graphs + firefox http://pigstarter.de/graphs/retiolum/ + +Other cool stuff +--------------- +in bin/ there are some cool scripts which are partly needed and partly +totally unnecessary to work with retiolum. + +As all the scripts are not too horribly long, be sure to use +`cat bin/SCRIPTNAME` to get an understanding of what they do + +besides that in scripts/ there are 3 more scripts which perform pretty +sophisticated tasks like finding instances via multicast or writing graphs +of the current retiolum network. Try them if you dare :) + + diff --git a/retiolum/bin/announce_pubkey b/retiolum/bin/announce_pubkey new file mode 100755 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/bin/check-free-retiolum-v4 b/retiolum/bin/check-free-retiolum-v4 new file mode 100755 index 00000000..3492f7f6 --- /dev/null +++ b/retiolum/bin/check-free-retiolum-v4 @@ -0,0 +1,21 @@ +#! /bin/sh +netname=retiolum +myipv4=${1-10.243.0.-1} +v4num=${myipv4##*.} +printf "Retard check: " +if [ "$v4num" -gt 0 -a "$v4num" -lt "256" ]; +then + printf "No retard detected\n" + cd /etc/tinc/$netname/hosts + printf "Check if ip is still free: " + for i in `ls -1`; do + if grep -q -e $myipv4\$ $i ;then + echo "Host IP already taken by $i! " + exit 1 + fi + done + printf "Passed\n" +else + printf "you are made of stupid. bailing out\n" + exit 1 +fi diff --git a/retiolum/bin/check-free-retiolum-v6 b/retiolum/bin/check-free-retiolum-v6 new file mode 100755 index 00000000..20f87efe --- /dev/null +++ b/retiolum/bin/check-free-retiolum-v6 @@ -0,0 +1,2 @@ +#! /bin/sh +exit 0 diff --git a/retiolum/bin/create-host-tar b/retiolum/bin/create-host-tar new file mode 100755 index 00000000..48ce26d5 --- /dev/null +++ b/retiolum/bin/create-host-tar @@ -0,0 +1,15 @@ +#!/bin/sh +set -euf +if [ x"${1:-}" = "x" ];then + echo "usage: $0 DIRECTORY" + exit 1 +fi + +WEBDIR=$1 +HOSTDIR=${HOSTDIR:-../hosts} +HOSTFILE=$WEBDIR/hosts.tar.gz + +cd $(dirname $(readlink -f $0)) +rm -f $HOSTFILE +tar czf $HOSTFILE -C $HOSTDIR . +chmod a+rx $HOSTFILE diff --git a/retiolum/bin/create-supernode-tar b/retiolum/bin/create-supernode-tar new file mode 100755 index 00000000..1e90c26c --- /dev/null +++ b/retiolum/bin/create-supernode-tar @@ -0,0 +1,13 @@ +#!/bin/sh +set -euf +if [ x"${1:-}" = "x" ];then + echo "usage: $0 DIRECTORY" + exit 1 +fi +HOSTDIR=${HOSTDIR:-../hosts} +WEBDIR=$1 +HOSTFILE=$WEBDIR/supernodes.tar.gz +cd $(dirname $(readlink -f $0)) +rm -f $HOSTFILE +tar czf $HOSTFILE -C $HOSTDIR `python ../scripts/adv_graphgen/tinc_stats/Supernodes.py |cut -d\ -f1` +chmod a+rx $HOSTFILE diff --git a/retiolum/bin/dump-graph b/retiolum/bin/dump-graph new file mode 100755 index 00000000..87539f49 --- /dev/null +++ b/retiolum/bin/dump-graph @@ -0,0 +1,9 @@ +#! /bin/sh +set -euf + +t0="`date '+%Y-%m-%d %H:%M:%S'`" +systemctl kill --signal=USR2 tincd@retiolum +sleep 5 +journalctl --since="$t0" | sed -n ' + s/.*tinc\.retiolum\[[0-9]\+\]: \([^ ]\+\) to \([^ ]\+\) at \([^ ]\+\) .*$/\1 \2 \3/p +' diff --git a/retiolum/bin/fillxx b/retiolum/bin/fillxx new file mode 100755 index 00000000..5e558362 --- /dev/null +++ b/retiolum/bin/fillxx @@ -0,0 +1,6 @@ +#! /bin/sh +while echo $1 | grep -q xx; do + xx=`od -An -tx1 -N 1 /dev/urandom | tr -d \ ` + set -- `echo $1 | sed s/xx/$xx/` +done +echo $1 diff --git a/retiolum/bin/find-active-nodes b/retiolum/bin/find-active-nodes new file mode 100755 index 00000000..2c316d0e --- /dev/null +++ b/retiolum/bin/find-active-nodes @@ -0,0 +1,21 @@ +#! /bin/dash +set -eu +cd /etc/tinc/retiolum/hosts +for name in ` + grep '^[[:space:]]*Address[[:space:]]*=' * | + cut -d: -f1 | sort | uniq +`; do + if eval "`sed -n ' + s/[[:space:]]\+//g + s/^\(Address\|Port\)=\(.*\)/\1="\${\1+\$\1\n}\2"/p + ' $name`"; then + port=${Port-655} + for host in $Address; do + if nc -zw 2 $host $port 2>/dev/null; then + echo "$name [('$host', $port)]" + fi & + done + wait + fi & +done +wait diff --git a/retiolum/bin/find-supernodes b/retiolum/bin/find-supernodes new file mode 100755 index 00000000..2c316d0e --- /dev/null +++ b/retiolum/bin/find-supernodes @@ -0,0 +1,21 @@ +#! /bin/dash +set -eu +cd /etc/tinc/retiolum/hosts +for name in ` + grep '^[[:space:]]*Address[[:space:]]*=' * | + cut -d: -f1 | sort | uniq +`; do + if eval "`sed -n ' + s/[[:space:]]\+//g + s/^\(Address\|Port\)=\(.*\)/\1="\${\1+\$\1\n}\2"/p + ' $name`"; then + port=${Port-655} + for host in $Address; do + if nc -zw 2 $host $port 2>/dev/null; then + echo "$name [('$host', $port)]" + fi & + done + wait + fi & +done +wait diff --git a/retiolum/bin/get-tinc-dir b/retiolum/bin/get-tinc-dir new file mode 100755 index 00000000..3f48b2cd --- /dev/null +++ b/retiolum/bin/get-tinc-dir @@ -0,0 +1,9 @@ +#!/bin/ksh +case `uname -a` in + Linux*|CYGWIN*|MING*) echo "/etc/tinc" + ;; + SunOS*|Darwin*) echo "/usr/local/etc/tinc" + ;; + *) echo "/etc/tinc" + ;; +esac diff --git a/retiolum/bin/hosts b/retiolum/bin/hosts new file mode 100755 index 00000000..4856d494 --- /dev/null +++ b/retiolum/bin/hosts @@ -0,0 +1,13 @@ +#! /bin/sh +set -euf + +netname=${1-retiolum} + +cd /etc/tinc/$netname/hosts + +for i in `ls`; do + sed -n ' + s|^ *Subnet *= *\([^ /]*\)\(/[0-9]*\)\? *$|\1\t'$i'.'$netname' '$i'|p + ' $i +done | sort + diff --git a/retiolum/bin/install b/retiolum/bin/install new file mode 100755 index 00000000..9e4459fb --- /dev/null +++ b/retiolum/bin/install @@ -0,0 +1,18 @@ +#! /bin/sh +# +# +# +set -euf + +trap 'echo "${comment+$comment +}You are made of stupid!">&2; exit 23' EXIT + +if ! test -e /usr/sbin/tincd; then + if grep -iq ubuntu /etc/issue; then + sudo apt-get install --yes tinc + else + comment='Install tinc to continue.' exit + fi +fi + +trap - EXIT diff --git a/retiolum/bin/ipv6 b/retiolum/bin/ipv6 new file mode 100755 index 00000000..34c6de71 --- /dev/null +++ b/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 -n '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/retiolum/bin/list-known-public-addresses b/retiolum/bin/list-known-public-addresses new file mode 100755 index 00000000..21b1c389 --- /dev/null +++ b/retiolum/bin/list-known-public-addresses @@ -0,0 +1,38 @@ +#! /bin/sh +# +# printf '%s %s\n' hostname IP-address for each known public retiolum address +# +set -eu + +_list_hostname_address() { + cd /etc/tinc/retiolum/hosts + grep --with-filename '^Address' * | + sed -n ' + s/: */ / + s/ *= */ / + s/ Address \([a-zA-Z0-9.:_]*\) \?.*/ \1/p' +} +_lookup_address() { + sed ' + /:/!{/ [0-9.]*$/!{s/ / `dig +short /;s/$/` \&/}} + s/^/echo / + $s/$/\nwait/ + ' | sh +} +_filter_public() { + sed ' + # drop private IPv4 addresses + / 10\./d + / 172\.\(1[6-9]\|2[0-9]\|3[01]\)\./d + / 192\.168\./d + # TODO drop private IPv6 addresses + ' +} +_filter_online() { + awk ' + {print"nc -zw 2 "$2" 655 2>/dev/null && echo "$1" "$2" &"} + END {print"wait"} + ' | sh +} + +_list_hostname_address | _lookup_address | _filter_public diff --git a/retiolum/bin/nodes-to-json b/retiolum/bin/nodes-to-json new file mode 100644 index 00000000..ca9d3c8c --- /dev/null +++ b/retiolum/bin/nodes-to-json @@ -0,0 +1,37 @@ +#!/usr/bin/python + +def parse_hosts_path(path="/etc/tinc/retiolum/hosts"): + import os + import re + + needle_addr = re.compile("Subnet\s*=\s*(.*)/[0-9]+") + needle_port = re.compile("Port\s*=\s*(.*)") + for f in os.listdir(path): + with open(path+"/"+f) as of: + addrs = [] + port = "655" + + for line in of.readlines(): + + addr_found = needle_addr.match(line) + if addr_found: + addrs.append(addr_found.group(1)) + + port_found = needle_port.match(line) + if port_found: + port = port_found.group(1) + + if addrs : yield (f ,[(addr ,int(port)) for addr in addrs]) + + + +if __name__ == "__main__": + """ + usage + """ + import json + import sys + db={} + for host,addrs in parse_hosts_path(sys.argv[1] if len(sys.argv) > 2 else "/etc/tinc/retiolum/hosts"): + db[host] = addrs + print(json.dumps(db)) diff --git a/retiolum/bin/patch-retiolum-hosts b/retiolum/bin/patch-retiolum-hosts new file mode 100755 index 00000000..69d7b92c --- /dev/null +++ b/retiolum/bin/patch-retiolum-hosts @@ -0,0 +1,13 @@ +#! /bin/sh +# +# Apply custom retiolum hosts patches, if any. +# +# usage: patch-retiolum-hosts [--reverse] +# +set -euf + +patch=/etc/tinc/retiolum/hosts.patch + +if test -e $patch; then + patch -N -d /etc/tinc/retiolum/hosts -r - "$@" < $patch +fi diff --git a/retiolum/bin/pgrep-retiolum-tincd-args b/retiolum/bin/pgrep-retiolum-tincd-args new file mode 100755 index 00000000..19c05fbe --- /dev/null +++ b/retiolum/bin/pgrep-retiolum-tincd-args @@ -0,0 +1,2 @@ +#! /bin/sh +ps -e -o args | grep -E '(^|[ /])tincd +([^ ].* )?(-n +|--net=)retiolum' diff --git a/retiolum/bin/restart-tincd b/retiolum/bin/restart-tincd new file mode 100755 index 00000000..17d939d9 --- /dev/null +++ b/retiolum/bin/restart-tincd @@ -0,0 +1,14 @@ +#! /bin/sh +set -xeuf + +PATH="$(dirname $(readlink -f "$0"))${PATH+:$PATH}" + +if args="`pgrep-retiolum-tincd-args`"; then + while $args --kill; do + sleep 1 + done + $args +else + echo "$0: there is no retiolum tincd process to restart" >&2 + exit 23 +fi diff --git a/retiolum/bin/supernode-update-hosts-and-hup b/retiolum/bin/supernode-update-hosts-and-hup new file mode 100755 index 00000000..b6b03c69 --- /dev/null +++ b/retiolum/bin/supernode-update-hosts-and-hup @@ -0,0 +1,44 @@ +#! /bin/sh +# +# @oxberg we do put this into crontab: +# * * * * * /supernode-update-hosts-and-hup +# +set -euf + +cd /etc/tinc/retiolum/hosts + +temp1="`mktemp`" +temp2="`mktemp`" +trap "rm -f $temp1 $temp2" EXIT INT TERM + +old_commit="`cat .commit 2>/dev/null || :`" + +_hrefs() { + sed -n 's/href="\([^"]\+\)"/\n&\n/gp' | + sed -n 's/^href="\([^"]\+\)"$/\1/p'; } + +if curl -fsS \ + "https://github.com/krebscode/painload/tree/master/retiolum/hosts" | + _hrefs | + grep '^/krebscode/painload/blob/' | + grep -v "/blob/$old_commit/" >$temp1 +then + + new_commit=`sed 's|^/krebscode/painload/blob/\([^/]*\)/.*|\1|;q' $temp1` + + sed ' + s|^/krebscode/painload/blob/[^/]*/retiolum/hosts/\([^/]*\)$|\1| + ' $temp1 > $temp2 + + xargs rm -v -f <$temp2 + + sed " + s|^.*$|https://raw.github.com/krebscode/painload/$new_commit/retiolum/hosts/&| + " $temp2 > $temp1 + + wget -qi- < $temp1 + + echo $new_commit > .commit + + pkill -HUP tincd +fi diff --git a/retiolum/bin/tinc b/retiolum/bin/tinc new file mode 100755 index 00000000..ffa1dbee --- /dev/null +++ b/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/retiolum/bin/tinc2json b/retiolum/bin/tinc2json new file mode 120000 index 00000000..31bd0775 --- /dev/null +++ b/retiolum/bin/tinc2json @@ -0,0 +1 @@ +../scripts/adv_graphgen/tinc_stats/Log2JSON.py
\ No newline at end of file diff --git a/retiolum/bin/update-retiolum-hosts b/retiolum/bin/update-retiolum-hosts new file mode 100755 index 00000000..eb57af3f --- /dev/null +++ b/retiolum/bin/update-retiolum-hosts @@ -0,0 +1,14 @@ +#! /bin/sh +set -euf + +if test "${nosudo-false}" != true -a `id -u` != 0; then + echo "we're going sudo..." >&2 + exec sudo "$0" "$@" + exit 23 # go to hell +fi + +# cd //retiolum +cd $(dirname $(readlink -f $0))/.. + +mkdir -p /etc/tinc/retiolum/hosts +rsync -va -I --delete hosts/ /etc/tinc/retiolum/hosts/ diff --git a/retiolum/bin/update_tinc_hosts b/retiolum/bin/update_tinc_hosts new file mode 100755 index 00000000..ce1be497 --- /dev/null +++ b/retiolum/bin/update_tinc_hosts @@ -0,0 +1,56 @@ +#! /bin/sh +set -euf + +if test "${nosudo-false}" != true -a `id -u` != 0; then + echo "we're going sudo..." >&2 + exec sudo "$0" "$@" + exit 23 # go to hell +fi + +list_hosts="$( + basename="`readlink -f "$0"`" + bindir="`dirname "$basename"`" + echo "$bindir/hosts" +)" +hosts() { "$list_hosts"; } + +hosts="${hosts-/etc/hosts}" + +bs='# BEGIN OF RETIOLUM' +es='# END OF RETIOLUM' + +case "${*-I am made of stupid}" in + (start|restart) + hosts | egrep "^(10|42)" | $0 replace magic + ;; + (stop) + $0 clear magic + ;; + ('print magic') + echo "$bs" + cat + echo "$es" + ;; + ('create magic') + $0 has magic || $0 print magic >> $hosts < /dev/null + $0 start + ;; + ('destroy magic') + if $0 has magic; then + cache="`cat $hosts`" + echo "$cache" | sed "/^$bs$/,/^$es$/d" > $hosts + fi + ;; + ('has magic') + grep -q "^$bs$" $hosts && grep -q "^$es$" $hosts + ;; + ('replace magic') + $0 destroy magic && $0 print magic >> $hosts + ;; + ('clear magic') + $0 replace magic < /dev/null + ;; + (*) + echo 'Error 1: You are made of stupid!' >&2 + exit 23 +esac diff --git a/retiolum/doc/cronjob b/retiolum/doc/cronjob new file mode 100644 index 00000000..3f640311 --- /dev/null +++ b/retiolum/doc/cronjob @@ -0,0 +1,7 @@ +cron-eintrag fuer automatisches hosts-update + +ueberschreibt keine bearbeitete host-dateien +if ping -c 1 euer.krebsco.de -W 5 &>/dev/null; then (curl http://euer.krebsco.de/retiolum/hosts.tar.gz | tar xzk -C /etc/tinc/retiolum/hosts/);fi + +ueberschreibt bearbeitete hostdateien +if ping -c 1 euer.krebsco.de -W 5 &>/dev/null; then (curl http://euer.krebsco.de/retiolum/hosts.tar.gz | tar xz -C /etc/tinc/retiolum/hosts/);fi diff --git a/retiolum/doc/device.c b/retiolum/doc/device.c new file mode 100644 index 00000000..7ffe51dd --- /dev/null +++ b/retiolum/doc/device.c @@ -0,0 +1,37 @@ +#include "system.h" +#include "conf.h" +#include "logger.h" +#include "net.h" +#include "route.h" +#include "utils.h" +#include "xalloc.h" + +int device_fd = -1; +char *device = NULL; +char *iface = NULL; + + +bool setup_device(void) { + device = xstrdup("null"); + iface = xstrdup("null"); + device_fd = -1; + + return true; +} + +void close_device(void) { + free(device); + free(iface); +} + +bool read_packet(vpn_packet_t *packet) { + + return true; +} + +bool write_packet(vpn_packet_t *packet) { + return true; +} + +void dump_device_stats(void) { +} diff --git a/retiolum/doc/git_checkout_only_hosts b/retiolum/doc/git_checkout_only_hosts new file mode 100644 index 00000000..2286169d --- /dev/null +++ b/retiolum/doc/git_checkout_only_hosts @@ -0,0 +1,11 @@ +# Reference +http://jasonkarns.com/blog/subdirectory-checkouts-with-git-sparse-checkout/ + +# Code + + git init painload + cd painload + git remote add -f origin https://github.com/krebscode/painload.git + git config core.sparsecheckout true + echo retiolum/hosts/ >> .git/info/sparse-checkout + git pull origin master diff --git a/retiolum/doc/highping b/retiolum/doc/highping new file mode 100644 index 00000000..e3d9a47c --- /dev/null +++ b/retiolum/doc/highping @@ -0,0 +1,2 @@ +in der tinc.conf darf nicht zu einem Host connectet werden der einen DNS namen benutzt. +wenn ein nicht erreichbarer DNS name versucht wird zu erreichen pausiert tinc jedesmal alle transfers bis der DNS-Request einen Timeout hat. diff --git a/retiolum/doc/install_dotcloud b/retiolum/doc/install_dotcloud new file mode 100644 index 00000000..ea976c55 --- /dev/null +++ b/retiolum/doc/install_dotcloud @@ -0,0 +1,85 @@ +The Dotcloud provided by duostack.com is a application development platform +for simple deployment of your stuff. + +It also provides an ssh-interface via: +<code> + dotcloud ssh project.module +</code> + +to be able to use it without the hassle of going through the api, you will +need to create an own dsa-key for ssh to use and deploy this public key on +the machine +<code> + ssh-keygen -t dsa -f dotcloud_project.dss + cat dotcloud_project.dss.pub (copy the contents to the dotclouds + ~/.ssh/authorized_keys2) +</code> +find your dotcloud host ip via +<code> + dotcloud info project.module +</code> + +You will gain a user shell with +<code> + ssh dotcloud@module.project -p 5960 +</code> +we will need to build some stuff in order to get a working copy of tinc. +Everything needs to be done in userspace. +<code> + mkdir build + cd build + curl http://www.openssl.org/source/openssl-1.0.0d.tar.gz | tar xz + cd openssl-1.0.0d + ./config --prefix=$HOME/usr -fPIC + make install + cp lib* $HOME/usr/lib + cd .. + + curl http://www.oberhumer.com/opensource/lzo/download/lzo-2.04.tar.gz | tar xz + cd lzo-2.04 + ./configure --prefix=$HOME/usr + + curl http://zlib.net/zlib-1.2.5.tar.gz | tar xz + cd zlib-1.2.5/ + ./configure --prefix=$HOME/usr + make install +</code> +before building we need to patch the tinc daemon to run without the need +for a tun device. + +tutorial is here: +https://hackerspace.be/TincVPN +<code> + + curl http://www.tinc-vpn.org/packages/tinc-1.0.14.tar.gz | tar xz + cd tinc-1.0.14 + #replace the device.c with the patched (empty) one from the webpage + ./configure --prefix=$HOME/usr --sysconfdir=$HOME/etc \ + --localstatedir=$HOME/var --with-openssl=`pwd`/../openssl-1.0.0d/ \ + --with-openssl-lib=`pwd`/../openssl-1.0.0d/ \ + --with-zlib-include=$HOME/usr/include --with-zlib-lib=$HOME/usr/lib + make + make install + mkdir ~/etc + mkdir -p ~/var/run + cd ~/painload/retiolum/scripts/tinc_setup + ./install cloudkrebs 10.7.7.221 +</code> + +be sure to fix the portnumber in the generated host file and add your own +address in hosts/cloudkrebs: +<code> + Address = my.public.address + Port = 1655 + + PUBKEY +</code> + +also write the right in tinc.conf: +<code> + Name = cloudkrebs + + Mode = switch + #device = ... + # no device :) +</code> diff --git a/retiolum/doc/install_no.de b/retiolum/doc/install_no.de new file mode 100644 index 00000000..69fecc61 --- /dev/null +++ b/retiolum/doc/install_no.de @@ -0,0 +1,16 @@ +ok, i tried to just do the same step i did in the other cloud service, but +it failed when trying to include tunnel headers.this is what to do: + +./configure +./configure --prefix=$HOME/usr --sysconfdir=$HOME/etc --disable-lzo --disable-zlib --localstatedir=$HOME/var +# add PATH_MAX to conf.c + +Add to your own path: +$PATH:/home/node/usr/sbin/:/home/node/painload/modules/retiolum/bin/ + +patch the install paths in modules/retiolum/scripts/tinc_setup/krebs + +update the write_channel script with the correct path + +mkdir -p ~/var/run + diff --git a/retiolum/doc/routing/ip-ranges b/retiolum/doc/routing/ip-ranges new file mode 100644 index 00000000..06f23e4e --- /dev/null +++ b/retiolum/doc/routing/ip-ranges @@ -0,0 +1,5 @@ +youtube + 209.85.0.0/16 + 208.65.0.0/16 + + diff --git a/retiolum/doc/routing/tun b/retiolum/doc/routing/tun new file mode 100644 index 00000000..a83ffc27 --- /dev/null +++ b/retiolum/doc/routing/tun @@ -0,0 +1,30 @@ +tunneling: +ovpn relevant fixes: + + -up /etc/openvpn/update-resolv-conf + -down /etc/openvpn/update-resolv-conf + +#up /etc/openvpn/update-resolv-conf + +#down /etc/openvpn/update-resolv-conf + + +route-nopull + -redirect-gateway $def1 + -dev tun + +dev $(your interfacename here) + +dev-type tun + + -auth-user-pass + +auth-user-pass $(your openvpn user_pass_file here) + +normal firewall stuff: + shorewall: + in /etc/shorewall/interfaces + +loc $(interfacename) detect tcpflags,nosmurfs,routefilter,logmartians + +ip+iptables + iptables --table nat -A POSTROUTING -o $(your interfacename here) -j MASQUERADE + ip route add table $(interfacename) via $(route -n | grep $(interfacename) | grep 0.0.0.0 | awk '{print $1}') dev $(interfacename) + ip rule add $(your rule spec here) table $(interfacename) + + + + diff --git a/retiolum/hosts/Discordius b/retiolum/hosts/Discordius new file mode 100644 index 00000000..561b28ca --- /dev/null +++ b/retiolum/hosts/Discordius @@ -0,0 +1,11 @@ +Subnet = 10.243.144.246 +Subnet = 42:017a:4584:17e1:685a:3991:6533:067b + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAsOoWkyydyfW9ml7SBV8d+qXU8E1c4l0vEpdBnmOouZozo1bzzkH3 +bLn2DkZaOLCqVUC1twbeGi2a7tXHh4dLvkIcT38V3XbEwxHhMn7enpKr79GO/VFf +Lu8t5dLbmPFFTOEeC54ke8X4MdlMrUMuXiGspnl/vc1NBSJIVECl6zdqvZt/UTWA +vI7evk3F+Tf5dPATqSMdxE5506i2y/W6obwYwaXdPbyBsAQkgdTjfVUe2u0GKfld +/THprmZYTwlBEZ3YAf12OdfO1aRsDpbogpZs/rcnebScDj7myzh7FkLHdH9nIfxg +dfGxSBV7kRMwQmgfKjp/yETPjvRz0OMZoQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/Lassulus b/retiolum/hosts/Lassulus new file mode 100644 index 00000000..be9782b1 --- /dev/null +++ b/retiolum/hosts/Lassulus @@ -0,0 +1,10 @@ +Subnet = 42:0:0:0:0:0:0:dea7/128 +Subnet = 10.243.0.2/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAsj1PCibKOfF68gmFQ+wwyfhUWpqKqpznrJX1dZ+daae7l7nBHvsE +H0QwkiMmk3aZy1beq3quM6gX13aT+/wMfWnLyuvT11T5C9JEf/IS91STpM2BRN+R ++P/DhbuDcW4UsdEe6uwQDGEJbXRN5ZA7GI0bmcYcwHJ9SQmW5v7P9Z3oZ+09hMD+ +1cZ3HkPN7weSdMLMPpUpmzCsI92cXGW0xRC4iBEt1ZeBwjkLCRsBFBGcUMuKWwVa +9sovca0q3DUar+kikEKVrVy26rZUlGuBLobMetDGioSawWkRSxVlfZvTHjAK5JzU +O6y6hj0yQ1sp6W2JjU8ntDHf63aM71dB9QIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/Styx b/retiolum/hosts/Styx new file mode 100644 index 00000000..fad45316 --- /dev/null +++ b/retiolum/hosts/Styx @@ -0,0 +1,10 @@ +Subnet = 10.243.0.42/32 +Compression = 9 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA4jbOi+HZIGOGNm4aBSwnq4m3Vg3IXHmYUbJx1AzP4a/yvEgswfk6 +MP5FXvoY/hZ0NQ0IRzbbJxGbcUdulz0WSjX1C+8uQUZstz+lvYZ4FeCXcdE5cuFM +ROKAbA4qxO3WOFhPAs4G+K6srDqswmmBSfgPAfOBexEZxHweoBQLOYKUPnBCWf5q +I1gKWgMVWv6KY/pgYxloarycb8gEd2GsNZcNwoNhRd2G/Tn6idh1qRBI96eaasbV +P24FEVkPVFVgIGrvFZCICCeQzA4g+Sn4TmgxnTWLQxG4hAHOZQX/ld8u7NHTU9Qm +PwmjESwfas9Z8UjknrbcaZvuqKrnMp7JwwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/ThinkArmageddon b/retiolum/hosts/ThinkArmageddon new file mode 100644 index 00000000..e51e1c92 --- /dev/null +++ b/retiolum/hosts/ThinkArmageddon @@ -0,0 +1,9 @@ +Subnet = 10.243.0.137/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA1EAiyBWICkyB1zHE31fHSbGR1nJJmXSfnrqm9yXRZSGweIKrbsof +QVcRzM4vsFBRUMBeKW7fzlGcvgXULFRnGelvEl4GRiBMO9odBlBI3t8CjZW7X2N7 +JqCMkB+CRuiHbNYQdRFTozQEfPq+DNh8accD5LjUM6gF0dKUdby5qNeHCfZSxU4v +YZDRqq/haO4up6m8/S6YhnHPOSaIAu7R7hFaUeB/FPT+s5irKk6WtAiWnIdXb22q +0zxT4+t9sWFb4V9u/MImggYQVWjk+TfF5KpihBOvExEQsSR8JJcRUJAtN4W0w2Pc +S4/j9ArKcBj5Wf2qHcJMN5MbwUFW1oMkGwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/UTART b/retiolum/hosts/UTART new file mode 100644 index 00000000..3c8628cf --- /dev/null +++ b/retiolum/hosts/UTART @@ -0,0 +1,9 @@ +Subnet = 42.227.239.205/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA1tFgR6xxNZavtG44QEAEzKQixJqO9MuO5hUcklH87Sml+Mz+Ptz/ +r8Vhmvc1NhL0d8h1VJSrzjAyYuBR0LKSGRYxHby/M9AqBjUHUhDM83ogV/CbSifs +TlBcKuvPkGVALN6LYcPXjzKzBI7X1ictqts9K3CoCWgjRld63noczvNnwVdHNawX +ckQdjzxMAgwtJW0hWfDr1Uhq3sVEFnHLzFJuLsnc6gDzKvP/ETQ6KINv43B9UerS +HzFK3ntViohW4K/p6i4gBNxFfYnuNLqnY+O/hc0/fFdKE36eLD8ngPURo3/As6Le +KlPEMBwIIJQpS7GP4BIUK/qPE9J7McU6wQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/ach b/retiolum/hosts/ach new file mode 100644 index 00000000..700ad7ae --- /dev/null +++ b/retiolum/hosts/ach @@ -0,0 +1,11 @@ +Subnet = 10.243.0.100 +Subnet = 42:335b:5e83:d8ef:fdf0:d921:22c8:b15d/128 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAxvRxan/8TtgkqsGCZ26jd+Nuv5tL0Nab2jbKVZa0iwtjIyBlF4cF +wR2H1ypdzqT5hHGVzE2T1QjBqYO1cIJ4cu0wfCbJSp9YtmK9Tm+TK/bz9LNj/RYj +e27ixFVoeYFU7fF2kNG5g66u/xspGnulRFzqNXXqh6Jy0X6eJJmvo8wniSHxcMoc +gyS7kpwDTcoYlnej6+tsGILVuZ6bSWuVr+kbdHp0rUGDXtNDAHW4WDtXRARFLmub +QdyxtBGQXB8n4XmdIlpuVbvyceBAId4SAcky6pIC4VCbvSJ5pDrL9+u07r24JkIz +MAs1gTh4riA3e3IbII8l8iUJ2x9Zlf6+vQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/air b/retiolum/hosts/air new file mode 100644 index 00000000..f27106f0 --- /dev/null +++ b/retiolum/hosts/air @@ -0,0 +1,11 @@ +Subnet = 10.243.0.99 +Subnet = 42:32d7:b589:8ae8:57a5:4cde:f49e:851d/128 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA1yNqMyy9C1O031M518kzLYLh+Ox0D2r9UgVSSb9OgpQ85ZJgl7Kb +SUzlZLbC9CX4O+PmtWvZwtPfLjua9VbVOtUJTB6zTB9Oqe4hTmX0oKIgheGf1rKS +ylOaLfSz7PaPR3zGms17F4ovLDUBG2rpOyoHJM54T9LyJbPny/t7v/fjAFqu6atK +1RgER3j3s5oPaRPw0pYR0kiGXayZRL6q7Qc6AXMlMi22sdRI9e1YCMCyC4u1oU6U +grw7khyPWoEaue9B7fKfG5PixRHHlrsVDdwXEVvH87+/X2IU3H3C1/pslenAQ98i +qGNJOl2eJ9FHInQjI1cDMgFURcT6i8mGpQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/alarmpi b/retiolum/hosts/alarmpi new file mode 100644 index 00000000..205b0d83 --- /dev/null +++ b/retiolum/hosts/alarmpi @@ -0,0 +1,11 @@ +Subnet = 10.243.124.187 +Subnet = 42:2de9:fab6:7460:2fee:9199:fa1d:70ea + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAunQOFP1mnEmsmnMYjCwbWdbGe0/hHQs2bxIdwO1RXngXgw/TBBhN +Xlp75LzPiT0ELF5WBPVclqskT+bl+FOOITH9XDkYzm22jzeLHq3bs3YiZhwzidkO +Xhq5pwGY4HL4o3SfFtfOHse688qqLXefoc9CfyAIKMCRRAxlzpqNVuZEg1eUcuUJ +z6gugJj+YyA4V3JGq7GuJDiPPOMrGel0rITMlWtYYtm0jf6deYBPjo+ZogDESlez +tBmPKNCXynSxb6cV39StUsbUQbLvHgPBrA01T+Hw1DV5eHmWoycvD4IfJqXdfMbc +BOqRHOlErXGTG5m2EUoU0VSj75zl06gW6wIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/albi10 b/retiolum/hosts/albi10 new file mode 100644 index 00000000..9bcca7cc --- /dev/null +++ b/retiolum/hosts/albi10 @@ -0,0 +1,11 @@ +Address = 74.122.198.15 +Subnet = 10.243.0.10 +Subnet = 42:aaa9:4ba3:8c43:bdd8:2cc8:29a0:e8e6/128 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA0Jz5rQ7NpIQWwhDsrZHlJYAnC1k1onl2ln/6CJbdV9t3gG2hlx/9 +0SEARo6sq9fftyzzZd3iY4WK7+zRXJFXHsLmDa6mq8Mme7Yv+YHZoHPTm9c3tN3v +laiV/qAdoi/sv43DCo7JywI2lTW1pPxuitXuud2ajd7GXuCoRqFRqLtaURorVKkW +4j9UGpMKrEa+CV9wP5jZ57RSPQ7aMq8D4GiMqKDgUeCZnvXxpYWDOEdGNlpuUcWt +/erC6u50/vnjUkkHx66OmkZe5AX5MmwNp2q4zC4sTh/BRhqk27AmNl5wbp0kL7/B +hg+r0F8ckrdLc21sSU36lUIeeFa/S+A06QIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/albi7 b/retiolum/hosts/albi7 new file mode 100644 index 00000000..0a21107e --- /dev/null +++ b/retiolum/hosts/albi7 @@ -0,0 +1,10 @@ +Subnet = 10.243.0.7/32 +Subnet = 42:6c61:6962:6137:626c:3769:000a/128 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA+SwdWv1anjIaKSnvel9d23tgqye5RguIVfgMnjpMsqOYpFklLIa8 +4wREhVvpiArnIsoTXbKzdeCFgaAbMS6aQ701Pyv7QriVy8m3iUlgqvB/znogxN8U +z1fqL0jAHLkQkoyZ2a6mUgHpByvUqZNcq6istYLwGnXO3JQrS7U54hHPpXbxwFY5 +0/Wli9OueG4fWaZ9skDa2Faq4c/Lngku+Iv1gBBgII1EDSsgedNWw3YBTmHDFNTZ +SsORj2ho5nQgdvw42qEINbxpU01jK8XB+jmVEO+ixZZCsWlOeCjl9Zym4MZDRePg +euTLTbgs/809ElM8V+EzRKSPNR2k6FrBXwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/alphalabs b/retiolum/hosts/alphalabs new file mode 100644 index 00000000..e5f98d69 --- /dev/null +++ b/retiolum/hosts/alphalabs @@ -0,0 +1,10 @@ +Subnet = 42:0:0:0:0:0:0:a1fa/128 +Subnet = 10.243.1.10/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAvUAbMmmOFn+4kOvJAvmi0R/XCQa1YBlkjUvC6Pmt0Q8gV1DodXjB +DgwP8yhLcxaVy2Hk82aJvNTUrfMeB2sdt1RJHQiEPQkHthdp8Spm0Px4uTiMjmFB +ev91xi00eCCGIKsXdh/qso1K7EDHt9MEVHOvSlkawWzoyJ6AaHStW1ElwDdGjZpl +0YWrhx4Gk5X7pCp3LKkQJFfGtqoqGOVg2JjqK3qMsAdRo6QvYDqjFzARed/D0k55 +kcKXjBJAVxoU/CqGfS/Lr0fL8tdYgXaAXvPO9dbr1t0KyOUY2KRNBePeSvRp/etb +H0LBPsO9F7PQiPI3DBoWCYgsuj/hBXapvwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/bergwerk b/retiolum/hosts/bergwerk new file mode 100644 index 00000000..89aa7ca5 --- /dev/null +++ b/retiolum/hosts/bergwerk @@ -0,0 +1,11 @@ +Subnet = 42:a7ff:3577:0526:3986:650f:c175:30a5/128 +Subnet = 10.243.0.51/32 +Compression = 9 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAuCX8FVI6xQepPf0goaErA35grHcBNbYvzKIXzEIOEuxiVLX4FXoY +aHdUaz9Z2/rECuDQCVzke3TLZgBn9ai7ruT5U077h0q69pS/vI/Hr2e3s50tQVcu +eD4DuudxIZ+DlMSeEaYed5OcH7C7KGL8Dg/2kzoTUjFqG2zwfHft8/Yszkwzt7/W +FwIkekkPTY+dpLVlFBKQnqXtcB5FvgL55MwhLXbQRWIqJnOuMdqzp4KwHku2PVs6 +0LW8saAzxTzIyEjJGd6rT+zDirhKmmWd/08YhgJ00XiYNkrFFyJPwtF/0CISTjBO +Uy0jafckZyAleQCzhg2753fEh8+n8NARNQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/box b/retiolum/hosts/box new file mode 100644 index 00000000..e02f8ca6 --- /dev/null +++ b/retiolum/hosts/box @@ -0,0 +1,10 @@ +Subnet = 10.243.43.43 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAvUMfRZOPb/zKvALZTyxKQuzowqqJ/HW2lm/RIOKL2uoTUgVX1DJB +fCLf66e2fHnjnStXuaMDNs1kq2gi4EyK5Q50RxVBq7XayXYqfnFwzTE+Iqape542 +vYSWKLdrxljln8a2EYU7njtcWkTpW+cJIwSHEUkDLAowF87ElQ0gBmyX4p107pow +jg7zcYierVdQXkI7mO4g2zWsywfhwscbu5hdCp1Fw3wHFDatgyhPj1pJruKe+O3c +AebF5yQOAsCxAk8ZcwGLmmF5xK7lAeux2Qzu1B4Pkfxi97g1GVLnX+so7PR+vvkQ ++OMzQGIWXtaOqov5q2O1N5RJzng/kCjC/QIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/c2ft b/retiolum/hosts/c2ft new file mode 100644 index 00000000..8ce0539e --- /dev/null +++ b/retiolum/hosts/c2ft @@ -0,0 +1,10 @@ +Subnet = 42:e674:8a82:7fe4:fa51:d305:192e:846b/128 +Subnet = 42.221.17.214/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAqS+nvuQnAlhsGHgjKRz0nq2nj9HWwzrA96xnng6UCmkTpFyprM7b +20vQ5wqcHFAbuZh1dOOb9G2qqsZYE6V1452YLZZLMsnxiJD8kSorHrF6kJid5JjH +xyyqSvkXaHClQItVjo7rIn5P/Tl+BMt64KaPxpu/4GBVHkCE1apLtaVRnEq5t2DG +htZuUqzhuLN4TQiSVC++7qY1UQotjLbAQpYxf67np5sKWMOqg5UA+ghuLeO9jpqL +qKoh2TMzotGwlYBMXVA0jJtQu5Sq/IWKWAyk9zca2LT0W0ZZWYiTl+Ai5urbJgCV +GvWeJCoBKteIKUHRVNK1RLDFl6/ITOu9XQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/c2fthome b/retiolum/hosts/c2fthome new file mode 100644 index 00000000..a8eaabc9 --- /dev/null +++ b/retiolum/hosts/c2fthome @@ -0,0 +1,10 @@ +Address = samularity.mine.nu +Subnet = 42.44.64.126/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA4ADumWibheOOocw3diK27ww4xfyptLZzlPcih5BJFUPOljXN33th +1rbFwBr0QyRSad5U+/w1qlTCCqadjNdu+0RPGxbCrEqE3bUlrbES3Fw1ZtyIeuRH +v6yTQuOzJXyceGGYJpK4JjFgFOggSH35dURDa1+x3pJECyWUAVDknWE5CS7HNufW +bcREh18LoTUi7SGPeWauDLvVb/eeuDNJkoFj+HWpNqupFXpXUD7vQ+FBTtKO9FZu +vd/QGYv7gkRGQfma3+2XW9fWgIfE1oS0qf4UfbycaEKMFS5Tn7li3tzCcH9Da4iB +SsyWm1Hg1UYXccBdDYWYo+vdG59hIjmh8wIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/casino b/retiolum/hosts/casino new file mode 100644 index 00000000..e35691c3 --- /dev/null +++ b/retiolum/hosts/casino @@ -0,0 +1,11 @@ +Subnet = 10.243.0.233 +Subnet = 42:3c1f:ea16:e181:7ab2:c51a:8892:7fb7/128 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAzmZ7x4HVpW8RC3ZkwmNKY/6VGlMKQbpBQtmrUzV1XFxKWZRhH3VI +NOqlfVpTEaRTorht7R8F1aw9psDDUcg7yuQFcUdoXxBJxwbc1h0FKyZZr5kAIfpS +ObE0rbBRRqJVAWgztpQAalWC95D73y/+tpHnQ+LRFq9IWeX5+QobaSym1oG4Y0Jz +STSbw2ksjH8CuWHS5TjZr50Nyx6cH99HABDnadxhLBtQriJPSYRYdWyp7tYrW3jd +As28mxkyFj0sFV3IJ/bYfZD9KSGg1KjQu+c73xKOBUhNtSHFjUzN5myYGd/nWCw8 +0PUReLrWC1ZHYPzqiwelTHcNJ3UcojpO9wIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/cat1 b/retiolum/hosts/cat1 new file mode 100644 index 00000000..1a9dd2fe --- /dev/null +++ b/retiolum/hosts/cat1 @@ -0,0 +1,11 @@ +Subnet = 10.243.244.32 +Subnet = 42:86cf:a3fb:16b4:edbb:df13:a7a9:cd61 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAyjmB9IyBYexahK+fxSzVNrVxMXroXMc4Fyx16+XOt9hugn24Suht +06kQwwbpkwjWfIEONzr0UPAbsOWG/Qj3w+dqiC5iqHZWFW/NdBgwunF5+INnEamj +eIIqei1230C/NNpTph9u3UsT+ZgZnc+r4usEmTpZslvtkVwg20jwT4w3Vq1ws1Jc +8Ccy8vk4FjgBP88zuvqzjBtTGQMrDgBd68XlGVKOhrvxCebHknbcHWpUz4cN8TX7 +bRNpSUTCSGd2taY6g4cUxiegbTeK2LDVvW/6XtISvJqVVllLD/p661W6gRUlkspv +phLJc+zNLRxOC624JRivt+Ag5iBI4YP4SQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/cband b/retiolum/hosts/cband new file mode 100644 index 00000000..51c51e9c --- /dev/null +++ b/retiolum/hosts/cband @@ -0,0 +1,11 @@ +Subnet = 10.243.7.76 +Subnet = 42:c293:090f:df44:0926:c7af:5012:7cd8 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA11kwqXkkDRmxmoZNFDqtUsxK6d/HzTdFC/v1V3fttePuYFiEOhZl +rLBS3+Eei4CsQrOwnaRBhHdnoOZGEdxJmq3YXDWGoVAn4bEgommCddzssVzWtVMf +hIntuCExczEMIY+MGzM3QupYxUgRRVjFtvxoC9kKOSlaq0BhkdJiWygzN/NUfqpv +HgDufoAcORLQInTpmQYEkZO+XmXejcCY/C+VD0MENqj3SijGw9tm2YmInwSwZnwX +Zjh2xn96QbV9O7bpfGHcLxWhsUyyRC46knbbBXuAdbDsa2TUdzT5D7nb/TLfP412 +agIhk+cwFM24y/ChHdfoUBakKF4wZI3l4wIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/cd b/retiolum/hosts/cd new file mode 100644 index 00000000..3cdd9c0e --- /dev/null +++ b/retiolum/hosts/cd @@ -0,0 +1,12 @@ +Address = 162.219.5.183 +Subnet = 10.243.113.222 +Subnet = 42:4522:25f8:36bb:8ccb:0150:231a:2af3 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAob/6umTaEa8jtU79nYzHa6vyEjFtg3ATh7uTvafmE0b2845Tf2hC +IpSBw//FOnkq2sUvj9IymMnMFBcPq6VZisvXq2B25BJZn16X8PJmkXptCckDoqVj +qRjg/H4q8aryp74dGYDp4ibBKyhN/BP3N5DXH4vkj4A8qHuekJWQD7wWcXj6Jcx5 +otDsj5LZYh0J8LJOXQYxmcadrZoLnkL6s3SkWbgexkJ2l5bhYSVBOEtjKQ8Eq1k3 +Iyao+iyaffUEhcaiwRBXovt77B8RYYY2DjKKVuR4LCxIbB7NKF03tETjensLBw2t +9sV7J5zBGDGbDIOliGBfRABBBlopgaOAsQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/chinaman b/retiolum/hosts/chinaman new file mode 100644 index 00000000..60ea744e --- /dev/null +++ b/retiolum/hosts/chinaman @@ -0,0 +1,11 @@ +Subnet = 10.243.64.163 +Subnet = 42:d3ef:d47b:531c:4314:ca07:a226:4064 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAyVYuNcqYublIdsVS6DEnfCoxQONH8keQai2wyJn4fIvCHlOY/nH1 +l0IsGAa6zsBrg+EMfPUr+0Cw/+X6UcYLuHS8Zapv30Ye+BNrVUd16Vom0rCrcVKB +qweYoQGQPIWPNR5abVXwbP1zBuygzmBmEUFBzmYHFaRIMihqOii5wgBU2E9qaSs3 +wjT3ujARHYVoDRO6ifyzIqZ/F3DJ91j+FQkNfsgk8G2sV4h9WX4I13niwdzxGFHr +lUZIt1OKjhfgYGqBoULZ6g7Wk/aNwfbzETvesjiVr92fvR6I/QsjZK9A4v3mAyQ4 +p2yYCmOLU2IV/Q9mFhX0Y40lq0hpKksRkwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/chinapi b/retiolum/hosts/chinapi new file mode 100644 index 00000000..3b24b28b --- /dev/null +++ b/retiolum/hosts/chinapi @@ -0,0 +1,11 @@ +Subnet = 10.243.189.198 +Subnet = 42:a529:67cf:a0ce:afa2:17b8:f73c:ced7 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA3caftivmAPf5imcvrQpATIk6dkEU9w0IeiCKyuo4Tq0hRPDghwR2 +N094Ls58GxjdGfdScUgmSXo/o85J9OFRIX38SmMhRZkZEIsPqF2tXflLxe0cTZVl +xZYxIsTEAfEvM0eJDSe5AkgCeArYTS1tZ1hCBvn7E4EkdAhUH3OSQFxJgFxpNGr9 +JuxCHhxHyV/8OC3BfYKyebof/rvjKc1zsQP/6pCZZchm1QYyjvvdaYgBqymn7Jw8 +J8Ni9FHu4cWL61h79Gh1ZT8FLeXh5ddEcFRzpPK/WNmFV4idj3q1slZ5v9xwtMAW +z1mUFMt2XkYRXVvO9OkWhkQUmrToj8o1awIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/cloudkrebs b/retiolum/hosts/cloudkrebs new file mode 100644 index 00000000..9ad4f0ac --- /dev/null +++ b/retiolum/hosts/cloudkrebs @@ -0,0 +1,12 @@ +Address = 162.219.5.151 +Subnet = 10.243.113.76 +Subnet = 42:20c5:9d2e:7d95:c5d6:26f6:b4b9:09a5 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA2MYdxEO0uV2LmNP/8XKinT7Pn9pO7T7aEtAaaoF9q2/qXV0JWeBS +UTKvK7qUpHr+x6a1DK7Ya4EJUjmdDqm5eb63YtiqWAQo3AXYV2yr7LoyrhbfxzEv +2swnHx+9x1os8eAnwZqouQBTa+TL6E9gIXtfSfjvBnQlqhmUqfXV71NpKFDxInwq +rKb6W37RudM5Mq1+cV49m1a9Z+kNqHwakryhIDDXo4cXNMpPaNuxOdY+VY6txm1d +naz3djp/LIYy//Mkg0fRogQDTL2cErpPLpPa4A/TPvHDZtQVzF28fg01s9SvNlA2 +oFP2VHnZgKJHI0h3D+LM9f1NIhaeGz3NpwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/darth b/retiolum/hosts/darth new file mode 100644 index 00000000..bcabc5f5 --- /dev/null +++ b/retiolum/hosts/darth @@ -0,0 +1,12 @@ +Subnet = 10.243.0.84 +Subnet = 42:ff6b:5f0b:460d:2cee:4d05:73f7:5566/128 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAyx5x0jzfhex8EBSFLlOIkP1yJ5cSPLQ3hpPMvN0J7QdVbypU6a9C +fzGpzBph1sRwXnaqCMe0og5VT3EdFtngbmm6t/CyMhBojkxMQI08m71JT5c07+1U +OSSLXBXYHcN6cAEYEsvTiSuvP9RoAbUeQQbZryI4wpzzQ7ET1l7k/3eeXAwqRKR6 +xiqn/4597U09QYmllqfplJUBv2pIAIcFlm/KHvNTZGEZS83udfnECwDwgU63PMns +38yiCpI79kagXyTOGCbkUatt0KNTzGNLAm0CyeFd1AdgUrj8fVg2jQLQlBrze+Gx +jkphgkVEgMtVMTz8WKfz+Dro3jBfQstIjQIDAQAB +-----END RSA PUBLIC KEY----- + diff --git a/retiolum/hosts/destroy b/retiolum/hosts/destroy new file mode 100644 index 00000000..8b5f7f5a --- /dev/null +++ b/retiolum/hosts/destroy @@ -0,0 +1,11 @@ +Subnet = 42:9277:1f1e:7599:ae4b:7cca:b4a3:fe47/128 +Subnet = 10.243.0.31/32 +Compression = 9 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAofIF/j4ddJEG0sOJJNp6hVXqLpj9FPw6a1vLLqZsn/NuZi3QCZ/w +xj1nIsQbc1TnPLluHhpn5kuvzb0lThqmPJvX2uXnbq7WH6OvRyN/FV/Gn40txdni +MFWD53zGlAle1/Jdt+to/+0mvRP8U+dKuggemGljX2nrUxaJgVRVzynvkys5l6vZ +2oMeO/LnFcAt9ZkMFoqDfKB/RPOqTD9k6Sz8xubVtasQ4ufpQl8Uv6zcYl1PnV7C +9Pj5MMtQVtRRV8hljImqpERunU6ZsXhyqI9O/cVw9+QkWf7Qh5E0vUKTT9FISyTV +nmQ9v8JGV2zPDVMmwP1ewyA1W9YhGiFd7QIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/devstar b/retiolum/hosts/devstar new file mode 100644 index 00000000..875f62e2 --- /dev/null +++ b/retiolum/hosts/devstar @@ -0,0 +1,11 @@ +Subnet = 10.243.0.133 +Subnet = 42:2be0:92f5:3546:5f0f:8f22:6244:25f4/128 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAwkkmkhGMnI0x5VIgdLwV2SvXO9Bw3Sy1U5AToZiG2dSB+OiwwLir +JIrTHv4r73lMLROJjQhznq06VMmNviC82178H7/DZqgSqlGU7d9p1Okd5XCs6LI3 +eaL5mYTXFuA+PMHVvYqQ5fDQRQ4KoWmlSV65XUPejPlxtl3FXqOSHVuuBSbka+St +qLyWLAh9d8AfWjxbAIv41fl6WOyw2IuDc05K36aT/TwzA3ykl+ekNObAjvpI0cxI ++d3j8H8JY5jDcg1hvWT06JqpUcTJRkWLL7BBdQvWySaBcET1Flfo8eYVqVQDK4kU +XV/tA1ax7YPFBQ7Lh3Ru9nEC45Gv6R4HbwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/eigenserv b/retiolum/hosts/eigenserv new file mode 100644 index 00000000..f5966794 --- /dev/null +++ b/retiolum/hosts/eigenserv @@ -0,0 +1,11 @@ +Subnet = 42:c9d8:ab9e:c7fe:43ff:0268:f862:42f7/128 +Subnet = 10.243.0.32/32 +Compression = 9 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAyy060LWeo6Z+Kp2h5LtyMx+KGdxL9/WjWfc1yf/YZ8lhZutNb+Kd +u9AHbnrqTRWRslP+toNiC55aJ/KlTBFQA5nBu2DC1KdG71AX5th7bRvUMfEAEG1+ +7MpcyuC8Owvleg/b4Ihr+/kQNbIPPhAraPJU780Oy173jnt+PCIYY+aTnEuO3UBh +yt3oPhfwMa2ssPL8GfF3YL9Pvh4UEbUu1E7zSOqzCOzH3od5I/G/TjvfHl3u4tEr +6kWHVqOYaKMJlqYvb7tnw7QjJNFhVneBJN6eMaWfcmTp2G9S+SwOppW3P4yRxrar +GLWPgEU6to1wduAktecWU/oWambgXb/hUQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/euer b/retiolum/hosts/euer new file mode 100644 index 00000000..d2240575 --- /dev/null +++ b/retiolum/hosts/euer @@ -0,0 +1,12 @@ +#Address = euer.krebsco.de +Address = 84.23.67.119 +Subnet = 42:974a:3ecf:3c49:06c0:4cd1:3c6f:59d9/128 +Subnet = 10.243.0.95/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEArx2mZOPEfS8fvmQYSzWuMmNtfposJlctDfGVmhMVotaFIpIBcKuL +dHZHI8BAStaM++DuqKv/QBjk9jF6BRAdZqHn98LHXR+VRJmFvgelEFe0uPvIRMe2 +IMzi9Ly0f0f5L90ulZBMkudl56nBcEPuG5ge9RLDINIX5nDVh0oQzvrwWaIiVuy/ +oKDFLaoxa3SSsCXbhnbP7ow37+xzvaVCFolu++yLHvinkCc5g3IUkBGwr3kXKHQ7 +J8oDuPgsDZ7d1kMPfzMtGI9xcq8GFeCmJsMAt86XsWD8t9ogQpVUi8NGjR4cbQSI +TbE2iVBsdGLpxbGh833uy7fW5CCnK79DwwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/exile b/retiolum/hosts/exile new file mode 100644 index 00000000..25d68ca4 --- /dev/null +++ b/retiolum/hosts/exile @@ -0,0 +1,9 @@ +Subnet = 42.116.243.248/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA0H+DslKV6EDCZWBCJs+MFyvTR9Ej0yWthIHKzFrA4qI8rxskrGGP +xhb16keQLPCAgBVVVmikh3pQVMq1K6ry5Of0uM7rU7crBzRfJ8zpGZXfYlBDFDAd +Vg8wwDvEYsYCAKrZbYIKb88WR0mT7K47ipTbXd9utzmoWGa/SuGtPkYOigcWYMRN +4QClPDLdICQvdohVvfd7/LXRNuwrWOJcmtLitTEZY9lo2hhv+ZKs7PBrmpTBhTMY +N2Et69tVPQh1t7cljf3Esij5AUczv979C9Lvukj8Kb51Et0T9qcGAs/M3b64X7FO +KjWVVQttj3AkjgLZ5OdYlm7uRRmYmKQ95wIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/exitium_mobilis b/retiolum/hosts/exitium_mobilis new file mode 100644 index 00000000..3b112a0f --- /dev/null +++ b/retiolum/hosts/exitium_mobilis @@ -0,0 +1,10 @@ +Subnet = 42:0:0:0:0:0:0:AFFF/128 +Subnet = 42.127.75.187/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA1zv7tkHIUxJX2FIFcfakvZZYuI3VH56nkQYlpTUzO9WscMF1BgoH +WKOvHy9QzxAJgqmceroZKbV2PIws/PZgwk7vNGPmmZtzkTuNS+RXd2y1WwKTHpxT +IZ5TKo9AGuU4dcMLAR2xheCJzTRNoxj4UrUgN1WkAqdKhN0Dysglfb+FuUiMdbop +rbzsKhJZKnJOnS00Z9K7ZrTWkYQR6nhMuZ0EMggc+pa5NesHfIoeitXQxB7tz9M4 +6O7xE8ZkECdKXmRBGhSU2ghnCqiomDj9l6L6S6Ms8Q0ElPM78RTh1a32Euj9Ffob +v4gQuzI0fUKe+pbm3VC6B+9awkdd8n1AzwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/filebitch b/retiolum/hosts/filebitch new file mode 100644 index 00000000..64c88cb0 --- /dev/null +++ b/retiolum/hosts/filebitch @@ -0,0 +1,11 @@ +Subnet = 10.243.189.130 +Subnet = 42:c64e:011f:9755:31e1:c3e6:73c0:af2d + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA2VjW30A3uQoo5QwbFTnl5fuGg81DZVu8HXmDwgEkhZYr5Xf3V5/d +fmPlX1igzatWYX0OylFAY69r0V4dqeTubIf83sz1eqtpXjK4czG8A3wMHEXj5Pzs +e1Qh8K4rHMEATc7Y/cwpQBi2THn2bhufqgaz94m8HrStCZcKCin3fDMbE01WHWX1 +KFqeBtUd7b9pWbXKlLBNpHTZoGxVQk0Hto9pxYzHecRsbQXykYk3Rw2tSuf0aH99 +oY0i3LjOb+f2oq2S4qVHqHZsMJfDVr+x2/LP1SIcc1lVTztWSSAzZEokE0/ejvXf +wkquBVHXdl6LuzH+/V1I7OsaMhHShYu1LwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/filepimp b/retiolum/hosts/filepimp new file mode 100644 index 00000000..c689c885 --- /dev/null +++ b/retiolum/hosts/filepimp @@ -0,0 +1,11 @@ +Subnet = 10.243.153.102 +Subnet = 42:4b0b:d990:55ba:8da8:630f:dc0e:aae0 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA43w+A1TMOfugZ/CVwilJn4c36wWSjihaeVe7suZD0DSscKBcbkGg +3dTCSTnu6Qb9sYd2mKebKXLreO6nhEEoFGsRU0yw/1h8gl7mWYEdTifPfvM5EWwS +wkN9dJ5njwIUSRyWH7QTsLkiRJVFN2UxEwrhAbo1FJ7yuhRgAKqKJSN4yPVViZwR +oHyyobvm/i2J+XSiDI9MRo74vNjnDLvO7R6ErIrhOPP1bD9fx3u+UYUfgS0iCO3X +UN0duBz/faRcl6IRytZOuHaIp30eJ4850ZK8RPz/Dqqj+USMFq60i0oMsuAi/ljB +8b+eQBt6OXu4MSntxoR8Ja7ht+EOTDnBOwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/fuerkrebs b/retiolum/hosts/fuerkrebs new file mode 100644 index 00000000..35bbcf18 --- /dev/null +++ b/retiolum/hosts/fuerkrebs @@ -0,0 +1,10 @@ +Subnet = 42:0f19:8a1e:7865:721b:2378:bef7:1159/128 +Subnet = 10.243.0.144/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA1HoKqh7HvXCKybe2FNBI/wuOvkZuftL0/DDZfZtPlCRtdcOA4XFj +hQng5+VE3NG0yKcRs59U8iHSeN9b7Is1YF4q0RtM9YQTDhvS/vfpHDq42ftjMs/e +MIFvYBGr2WIOzOYPiACURRcaMmoAViqK2Bwda45jORPUGo1afibH9UcDs76lFuaI +f3mUZvLlqdJEtG040WoT1douGWtUWkCB6/pVUgLAurncOz/XiSI3GFzkMUY+0pT6 +0G34AcYqvdQyxH3x0ebclFlfY2aPStf6bGMejcpRJm4M02xF809DVYlUL3mG6krF +MdWP85dCQ4V/RL0HdZ9PEjlVhgNOF1aQowIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/geisha b/retiolum/hosts/geisha new file mode 100644 index 00000000..6a3a2788 --- /dev/null +++ b/retiolum/hosts/geisha @@ -0,0 +1,11 @@ +Subnet = 10.243.175.29 +Subnet = 42:b6aa:9052:fffc:807b:4829:8756:860c + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA0kVV9ezFx/kZ6GvSALhXODkWlwHSjdA5hBJ90bdNcILeltVa3FIv +K2E+L6EG/jsETWKutxOk08+B/Z3p1SONgEksTNBdXx/Crww5PZGN/ocVSKZj61/N +lCej/Jcu88a4/R7JHIiSMdmqRCGHnwnxRA0iDQZIunriUH83NqMBQk6Drkphr/9a +5U8PhlqC5oSzZrg0uReRuBK86KmU03vp9/DndaLn18G835dtWRBQ2aEfIrrlaTPJ +ZKN/0xYZJU3v8YJYPi+UeRSymecSNgFQg36v95r3s4j3trk+yXVzVwT347AZRm4a +d/AHdk0+blXyUr5CFBsjA71cJfzqIIJJrwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/heidi b/retiolum/hosts/heidi new file mode 100644 index 00000000..5ba59846 --- /dev/null +++ b/retiolum/hosts/heidi @@ -0,0 +1,10 @@ +Subnet = 10.243.0.45 +Subnet = 42:7555:0ab6:6de2:e50a:a702:45b5:9fae/128 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA3Mp0dxGooYuoh/f+V+gdfDoG3izloxsNIJT8jPxZUPR8GE+Sn/Yc +bVfy7svy7AEyjQyxke5P58UpBB+D30XhO22Dr5mf9VGRcn6TYlM/u3FYxVNn+fhz +iN5oHeRjvJg58z9pdH/kHOtAPnVVEmjOGZxVO786JZ1obtRJ5Mx4aOHEaab1aThR +E7tcyT0xtPJfUARITVrLsFulGh0KaDb0bTADxBQiHSoRibCpraylOxF7tzbINqaX +ogMfYooGLutlEQJfOYsbmoTJX0caSK+9Y4njqpwkAx14P2ME6hfdYPrp82TtpOS3 +kOY3HAVTnHEsTxM4wDS7et316S5/BuW5rQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/horreum_magnus b/retiolum/hosts/horreum_magnus new file mode 100644 index 00000000..3019e9cf --- /dev/null +++ b/retiolum/hosts/horreum_magnus @@ -0,0 +1,15 @@ +Subnet = 42:0:0:0:0:0:0:affe/128 +Subnet = 42.35.89.21/32 +-----BEGIN RSA PUBLIC KEY----- +MIICCgKCAgEA4PcEqnw1ZrBgPl0yNO7eQ9aJpV4HKlENVhc/cobLh3dQgbmpw2Qr +MQODR5qPxY+WmyZiQeU5sh8WutfpVn6xBCmR7QDqA+xpPhe/Y6uqWGDjxNftnetz +gphYv/nPGj0Dv5mo2HGPFK1VG+kp9k+vlZb3r+03OVFrIVHsUg6qE4e8o7pN4OmF +O10i85csMyKvSfA/rNHC7RdYP0tVLZTw4ZMTQh5t6zr/foHMr5KPXGVM/hjUWXW+ +ujSxUam6JxS1wk1zFp72Vd3X+JQH1eaDHidm3BBVAvCynyhUyaQh7nSjIDWZdGqQ +GmBcj0M05o1tVGV/7sgQUTNHiLaX6vE35hQoq0Jr2bhfIzjhESLl7HuBMpvDntLE +Tv+c/R3qryTNBBHFZOvYU0qx7I0cq5NLx4BqUXd6EykQvLZ53TyjFlINGQuEZXsj +LOtyAj4n2EEg6WmSUhrB+tyowqumdT8ltemuhZ2zDmimep9EvMiZOVns8VkTqmBw +lRzatTHS5tv6NieDzWTBuMqZiWjgpK8GILUn5e/ecIT2xTSVvo0jzIBwKtFpwf+X +CkBB0tNlYYmDmHJxiKWBsgw27BFmQI59h3wGHXHSDRgShLBjNH62Lm6omDwivDJQ +CJaTYPIsL8sdoCglCIV9NwUkj8tM+cvxZiZjvB3zizNxL57ZqpAcNGsCAwEAAQ== +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/incept b/retiolum/hosts/incept new file mode 100644 index 00000000..348e44b1 --- /dev/null +++ b/retiolum/hosts/incept @@ -0,0 +1,13 @@ +Address = 77.95.224.63 +#Address = incept.krebsco.de +Address = 2a00:7b80:3008:3::fafc:241 +Subnet = 10.243.0.174 +Subnet = 42:a2fc:1c89:65c7:6e60:1f62:eaf9:e9b6/128 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAvy4J8CewsXeFkFOLqDwiTN+3fF0yjmP5ZVtrLrPJn7Ux75elTdn3 +iLcJYTgaO1/dmw8fPD5DkNnb3wiadZiFGXpsTd1jD69mHcn/6RY/0Fcne9qDiqgp +vafpUD5UP7/7S+l5kkD6n7HVRblLXJIJk6Z8RCRN8OGyfjMM1IKeoR8kR1+85fpf +C28fnU3Nz3YJDazOaMD7aGiyGZDRyY+wRjbWtMXE/NH8ydN148ZpFaMvBjM7fl/B +q8XS5Rs9lFlW2jpex+W2DNq5t4QRMUDrLgD0gug0UiYCYw4IJg7OiI3g6vwjSDtq +hRxpQ4nq3avmTR/NWzZ97PP4eXTCIQhiQQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/ire b/retiolum/hosts/ire new file mode 100644 index 00000000..724158cb --- /dev/null +++ b/retiolum/hosts/ire @@ -0,0 +1,12 @@ +Address = 198.147.23.143 +Subnet = 10.243.231.66 +Subnet = 42:b912:0f42:a82d:0d27:8610:e89b:490c + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAwofjmP/XBf5pwsJlWklkSzI+Bo0I0B9ONc7/j+zpbmMRkwbWk4X7 +rVLt1cWvTY15ujg2u8l0o6OgEbIkc6rslkD603fv1sEAd0KOv7iKLgRpE9qfSvAt +6YpiSv+mxEMTpH0g36OmBfOJ10uT+iHDB/FfxmgGJx//jdJADzLjjWC6ID+iGkGU +1Sf+yHXF7HRmQ29Yak8LYVCJpGC5bQfWIMSL5lujLq4NchY2d+NZDkuvh42Ayr0K +LPflnPBQ3XnKHKtSsnFR2vaP6q+d3Opsq/kzBnAkjL26jEuFK1v7P/HhNhJoPzwu +nKKWj/W/k448ce374k5ycjvKm0c6baAC/wIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/ire2 b/retiolum/hosts/ire2 new file mode 100644 index 00000000..6b9d0a79 --- /dev/null +++ b/retiolum/hosts/ire2 @@ -0,0 +1,9 @@ + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAwXkn0H/+BUiARYSzZCpjqEwGeDZsbRHoWcRNlmlP6XjPMbKKQBHf +gdERPevhoGaNtQdW6SEA5xb1cJDHZILHZtpJ63hs6999gB9x/n4x7eR6C9d7HPDD +rGv+tBdwo8QWOIQIVnSAr6WdduSg2CyZbHd6d2Xd12vrfqJxnODSUHibrUusEc/D +XBK2n1un3znzk7P+KT0xXMtNPU2678tGuwsvSIOoDfDx9+2xuxGANeqvEOeSAgg/ +SUH5CbcAFI2/4AKWP4e/yxM26YoKdz1Fu/hx7WqKwYmPERrgcr8ienx4WFGG83AJ +CmiYwO23L4qSp1KZT8SbGDh2YpamZg2BZwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/juhulian b/retiolum/hosts/juhulian new file mode 100644 index 00000000..d9da75aa --- /dev/null +++ b/retiolum/hosts/juhulian @@ -0,0 +1,11 @@ +Subnet = 10.243.0.38 +Subnet = 42:449f:b00a:e973:514c:3e9f:97ed:aac2/128 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAnNyOsNItOzNQndheZ3ppOMWvIOuO1wgLXArINS1ORcgIAJmLpqDI +whsZFCVifwAXsdeBJyyZOPZrc2PQ4F3KB9ByX6PQ9jqAhun1aE9SDDqp+woOrTlP +BtJ/8zAmRhrfak61TxpeTndLk95xOLaCwvS2P4SJLIcyutTbbFdBCqpu7cFUGOOP +qCKLX7/mv2L+GNmQAnWZ5HwXQzBS6gNaNIcQ8mPCUAIZgRU2T83x/tnyH1RlATK2 +lYUWRM0ie+dRMhiDcwmmZrwYl8wzyvuBPEr/p8ZBM2tua8GlQzJUJl44AiAcx3w9 +0EB5MIRL5Qb0yBvXD0yR+bDizqvhd40LvQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/kaah b/retiolum/hosts/kaah new file mode 100644 index 00000000..a90555a5 --- /dev/null +++ b/retiolum/hosts/kaah @@ -0,0 +1,10 @@ +Address = kaah.ath.cx +Subnet = 42.220.181.17/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAtd9+R7NYs/5LmXoFakuoFzdO/8hy4MMeGjdDqbubKyJmIO/nvQWS +TQns55znLgPIapUtCijxphoQrcTB5LijVXFj/2uipqiOJHVmhA80NiQgYhrFG++x +9AQie2c04xqq+6Bptjs8vnQS6odLsBAiY1OJDpaEPZqzrpSMnYzEwPWqOAzzbVRd +SFDokIhm62xmDK0+M4H8l3zmMnInnxdHd0fMhBJr5lXXqdzXJ3zluU6fZyHysF4c +OnvFrGNrc3MPpgmzULVUUVg+Z4NeQYa5LuhXA9xia0R5d8ALCi34L4tAvCfSi1Lu +RSUiJHeWDvNzwIy9+hxofqqcJqA05kyGLQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/kabinett b/retiolum/hosts/kabinett new file mode 100644 index 00000000..e434d419 --- /dev/null +++ b/retiolum/hosts/kabinett @@ -0,0 +1,11 @@ +Subnet = 10.243.213.120 +Subnet = 42:e792:1d5c:c89f:f932:e954:6ada:1dbf + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA1sVtqyeCdKB1nabs0FOC62J+J+grP5B/3/s1cuAxcJmER+NaT/Kv +rvQeB13BmrIjfJTBaezdR+wp0RiPB7s/aMPjWwS5rzh3KhSFk2SFpnLjB2WIpKqs +N9TQEf2xB0TBWHqcpSqSthjP3SOGNP7gt5l0D13QIHkRQ2xX1PqYikkYi07cQLO4 +rwXrlEBOY8Dn0GR37NA0k+zt0AIdJ78zXHNjVn5hRj8aLGKB0q/FOtdMNRYEGD40 +An82Y2sW+b7U6Tnrw43TOO+AP/OrclEjmNDTRqYLiVAeFHXKjwbCsSlof0qmoipZ +H+nbsB3qkFpNEy1cA9c/pqHfSpqV3WihRQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/karthus b/retiolum/hosts/karthus new file mode 100644 index 00000000..75a8d15d --- /dev/null +++ b/retiolum/hosts/karthus @@ -0,0 +1,10 @@ +Subnet = 10.243.42.13 +Subnet = 42:42:42:42:23:23:23:23 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAtGL2Gu8Dw/NsgJNcu4XY9eWUM8prL0JC1UfnACXuOCPns+Bdm/dG +uVTHdejjxv6y4FjWNCoD+45lP31QfBIqIOtUsfz/4ox9bvyTOUWQCe0NtBs2SMyO +O1eWSD4cnNfskYdyOHQbD+KSSiksyzaZdcqqx9FgWo1VT0f+oElnZ4nLBKRNBguN +GwVLjreE0GSxhcV2r6oHsaT+udvQ/PlQgn/zia2tKT+OI54WDJGXsKEvwRRnaRz5 +33Di58g3dffo0i7B3S889sa5B7l1kh229cw24Gc0AOtmm8Vacle6iTw3Eg0uLzxM +nKpOma0+K7CoE4IqSZy350iTgheHwq+y0QIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/khackplug b/retiolum/hosts/khackplug new file mode 100644 index 00000000..c149d93b --- /dev/null +++ b/retiolum/hosts/khackplug @@ -0,0 +1,11 @@ +Subnet = 10.243.217.107 +Subnet = 42:ebe3:90b0:539a:6ef0:0910:b724:00b1 + │ +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAvytShP1vgYLDYJhiC26Vc1/cVJOptUnuyTc8Id9vkCkgHZRpKs3T +jO2KRaQMDWMXfXkMfVp84/2Q85hpUzYqXQHaNzitg9nHGR2n+a6zfwNKWAm6n2WK +AMsPf1weamzs6EfCm5WztqenoHKNUxpzXVyLJES/WK6e5ba7FEpszZx+ydoc5GjL +kezqch5p+U/J2JoUx3aIpQuWvc0i/4KYOuGzlWgUYLNyqL1m3gBkahiPuOtzf9Ul +EP8QY/GQa1HTFuhLS0Y5nVjZvWnjVVEloXbq9SD2I2fc4GD4+F8wtFMsJyEF2qxY +XfSLTlpHaJbSBNiopQyWG62RZda/p0yq3QIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/kheurop b/retiolum/hosts/kheurop new file mode 100644 index 00000000..bbe93fe0 --- /dev/null +++ b/retiolum/hosts/kheurop @@ -0,0 +1,12 @@ +Address = 91.250.101.180 +Subnet = 10.243.78.78 +Subnet = 42:bcd9:7340:9628:9604:7068:5061:4976 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAqIFB0Nk2eSg/K/dJGOEegtezhn5P1RUi1ZgxoZoTR6K4T/tSbD2u +gjPU53mhRN622lLayMMXtWVKdhO4IUu3mKfemA/8/fy7Qu9T51UUS+NXu/4g5X3W +Jg2a37TrnQUrsqNud7QQhPTGF8L0+UT2mHlfRYggtAO1J2pSWtsqDiMAOD+89zvg +Gta8aMdaFPhdkfboaHH6mVJBFOkrjQJE4RiUzwZS24PKh6gRJV4cENdcNRYdVwhv +dOM+SWzPZXDTAVyG6HptvSdfDUKi4hJY4yS+TIf9j7yR0YpUie3CsbN4a9jP2KVt +/NhzZ9nNaEv6O8Nk+7Zu8OaxUPgctEFYfQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/kiosk b/retiolum/hosts/kiosk new file mode 100644 index 00000000..b490e8cd --- /dev/null +++ b/retiolum/hosts/kiosk @@ -0,0 +1,11 @@ +Subnet = 10.243.232.122 +Subnet = 42:1ad1:b481:00f5:aab8:f8cc:51fe:4b87 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAwohazY/T/cp5Na3zLEWhz9Lnz78PladH7CMN+1TLzNXgK96bPvrN +6ktxIFc0s4m/jWW1AZOjxxGZGmwvaGag9XH8NLMmaqtd2NpASI4c801wEVLuNpss +gqPAIhDdDWV0WmiDiHe96qQuBVNGv7jlHTuNghwlmgLF0csRDiZZDHn5Bq7plAJB +0kQSspvq7UpBzVHVlDefIIe15/Yyt9IC21S1o746ZIZ8RYCG63Mnbcs4vfShVxJX +NnD9++HJV39NA9ozR0bDQUw6s0rVHH/n5iWaktJZ23r2TG3O+7ZZj4QHmkng/Xow +pgIjcpIWlaqfG29Gl43SWgsVnphemvyP3QIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/krebsplug b/retiolum/hosts/krebsplug new file mode 100644 index 00000000..ab9c966c --- /dev/null +++ b/retiolum/hosts/krebsplug @@ -0,0 +1,10 @@ +Subnet = 10.243.0.182 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAyd4FnOIEcUDQDudDOhU4wwKT+lqV4RJMfg9QgZC2O3xTGvzsFeRG +aSMIDMkPzhJ/ggIWAzC+IM2kBv+YCRhu4zOnzWIo5IaC8Me2TZ1JhZ0nZN1YzEGD +LmBsnngO5L1VnWLYSKRALa5Kv6wQHHz0T6PlsvBQ8SWDG3IKIe/gOFz7eh1Z+ss/ +5XaiYeLMmukEuuilOJZhfDiZPmYOeFI5w7YTM+8Iz/oZRyf8P57pjN21R3feoyTm +WusgHUuRLRqSUHdYu/E36EyZ9Oc0WPk5yLUhstkPaS1Y35xMEhZfQQpIruQxOst1 +fgiOQg/gKmizzgzdCbfAf13dknkWsqoc0wIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/krebsplug_696c98da b/retiolum/hosts/krebsplug_696c98da new file mode 100644 index 00000000..6ae73323 --- /dev/null +++ b/retiolum/hosts/krebsplug_696c98da @@ -0,0 +1,10 @@ +Subnet = 10.243.217.22 +Subnet = 42:3b3c:d92f:96f2:7a9f:dff8:7b2e:3f86 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAwR+ltgpQHd7Zo44JAcaLZZ0T6/9VBvwFAnG446vTzRL1cX331akV +Ceh6IkwBkM5lWNmNVYu/oeqd6cj/i6AgDMZRETbDLBSX338wPVXqxaPsIMgyAD63 +WRsken+VZKG8qrkBlBIgoXD/THQWUpw41B0tKNYnv8HQTcB2hlLZ5i4r8A38UADL +8vQd0V1CAfqa3Q80pDxmTtGo41b/mfHUMF4iRR94T65AzpHmofcMaJ9ThiQ3bDiW +D4rj2mjvOWcnLsm9eNXTtwIG1S6Go5Nnf1qXUGTsskm4J193zhxS+PL1KEamuE29 +8NLec8P0aYD2rlyMx4rale1j8jpvS0El/wIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/kremium b/retiolum/hosts/kremium new file mode 100644 index 00000000..9f77be25 --- /dev/null +++ b/retiolum/hosts/kremium @@ -0,0 +1,10 @@ +Subnet = 42:88ec:8968:cc6b:978a:68b7:1004:fc8a/128 +Subnet = 10.243.0.98/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAsdjqCyLvGfkIsawGji1CIIxGaKKdFhKJcfFK8FWiyQdgeNK/9UAh +XsJYkSHVcXqHAorP1QAvk5fIiSEEoSwoChyecqpNOREOnN8+N8RVrs0QIwL0mwa0 +9H4HDcpt8O8J0mpM8z8pb7vhDk261oMchG52TVYX4cuEgpEiyJtij27UIfOeVY8g +8kuJQG+9X7WNGMOt2Y8A7pXFf/+8qdwpOq5C0SIRPR5WplBeeF3BepzmUeq24XOE +cdF/ggYeU8hSYzr3DFX7g9u/gOjBQrhApopx6LR9TkpkrFfVcgLw3NaOzI2vQzqa +7m8v62D+/3vun3ZB/1OfQpIMfm77DC8AEQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/kvasir b/retiolum/hosts/kvasir new file mode 100644 index 00000000..6e5772a5 --- /dev/null +++ b/retiolum/hosts/kvasir @@ -0,0 +1,10 @@ +Subnet = 10.243.222.181 +Subnet = 42:77e5:5496:7cd9:78aa:c4ab:ca70:6860 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAv8wui/1n4VhSd8BK1yswCrHydiYFx/+5Jdi7cB+S+qJU0FCsKs7i +9BdrTcJ+djBn6WXA6UXSHtQxoRPqT4OH9nW4HnXaMGvJJbJhHtX6C/Kun1p66zUE +oEBV0+WqSvN7+xgsMxoXjxB4YMmvMyI5zSl0uEx3sBfvkftoISQHruD3PoWInE9H +CfVcuk1qzvsbk23uEyGjS1k6z0rI/HunmcEHw1r3oTAgFg7ZXH9ElCBBDbwECjMI +x+DREZlH3kqJ/W4ulg6+tf9bh/22oBbJu2H4hza9k8lx4z1jUARqeJVhNVKOiyXM +l8rFUiGAXortMoSlslnPXvShSuskMJP2CQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/laqueus b/retiolum/hosts/laqueus new file mode 100644 index 00000000..0bdef307 --- /dev/null +++ b/retiolum/hosts/laqueus @@ -0,0 +1,11 @@ +Subnet = 42:0:0:0:0:0:0:1a1a/128 +Subnet = 10.243.0.12/32 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAy9lnH4qDSYeNbpzpcQyq2LzzxkVy2N1vGgKkVttzx0cgMvyRm3aX +wlacS+3ILBZ3tw+JuCKR9gjRluwKkqoReEINcAam/GbubJ6QBpV54goYm7YGOIuf +GkbWVk7Kts67KWWhZDzEL30GRv94K6e+m8e7rhnqrTgPyPk3oSwHzvPy1oaf6bTI +Y/aDQjohFVvQZxF8joKhAE8JrzjKAn8yXmX8VlGW53XBXAb88Ggkr5raMZ24Rcc4 +pdkOc7sFfVImH/ASwkcPi2xX0adlz937lD7rkn5/Q9B9AwsHb1yQKJgWEeYWOQ8C +F0SzpZiwHz5qB+eg3wMT0ZnvPJKitshyjQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/luminos b/retiolum/hosts/luminos new file mode 100644 index 00000000..fe04b33d --- /dev/null +++ b/retiolum/hosts/luminos @@ -0,0 +1,11 @@ +Subnet = 42:23:42:23:42:23:42:23 +Subnet = 10.243.42.129 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAuxgY9SfSCyCuTw2bPtC/He2/NZDYQOcGd8+5Bo6h1/h2pU+qKPQB +0digU617dG2NVMaT0qmzEz86e2avr0PQsyfhmHO8JNOTqwjyQzKcv3iA+B0jU7Gh +F/PaW+e+0O+a3LO27FCA0uuxEHyWaXqk53a3wKmjo4fuVy1QKOOoiaFaYLaaTgmm +8OJG+AKWR/ArihpopgAHFjiqB89xWVw5CgxHDwfzVcmI9SOAaEuTfL065XM4uoH/ +LnbtoyT8zN+He1AlaEJMUaWdo8SWfjBFyVrT1zRQ+0S47tlTCW8Neb0KKs+m9d0G +rAdv6+iFmQzpv76cgYQw2+AkqkUF8Y8xSwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/machine b/retiolum/hosts/machine new file mode 100644 index 00000000..4927fc84 --- /dev/null +++ b/retiolum/hosts/machine @@ -0,0 +1,11 @@ +Subnet = 10.243.60.31 +Subnet = 42:698d:4e02:4d70:b080:acdd:513d:70aa + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAvkLboZ6wRALd++ntUXfyzCT9G1pWSJNJhrdut8dPfz/+IIbx4thz +tbq5apWQRaHj6IILMiQqpfUkhbfz3WS2YP62f8nAzKLKB0zzRAJ1lQjoZOXQseQJ +Ydyf9dEDhRtnSnOwsmSDEch/2KhgCj+fdMcnbcoAg3PYJGzsz2ykEtoh80Rv1IQa +tW285CP2GooRp1gwy3WKL6at/uW6D4/tTIimHML5JbLKj7mH+3nOyrhRGyZP1b9s +XtdkePuaQKrIjmv4rEIYx2taFmmQp7XpC2m4Vdoy7WdIzR3WTgWo546IOygY1KIW +fDOH+3UoG5oI6y4hNNa7+NH8DpmdtzXYnQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/miefda b/retiolum/hosts/miefda new file mode 100644 index 00000000..1de261d9 --- /dev/null +++ b/retiolum/hosts/miefda @@ -0,0 +1,11 @@ +Subnet = 10.243.0.30 +Subnet = 42:59fd:1f99:d9b4:9fda:dd80:ff61:6497/128 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAtWySxln5f1ibnguV9FPOGvw15Xn+9HG5qRDv8buu30YGdJ8yaq6L +LwjZjNJ+fbHx5lNkDcD+qZXGi/jBiIFPOnAlNZwcOSlBtlplLX6/2H2Ix3RTrhUm +Dh2s0VLGBPZ+tNO4TtR/RyYJVfVYN6BrKhAWGkffeo0bHFIpiAOQyr1bmbFUMs6q +0SzX987ey3STDVPdiTNHW7ogFS/18QwOcI4eYVoYK6jgPvutNYt5lpP5qRczgCpd +Ra+cZk9Lx1mbS1jEAhCYDmqmEqlA2p2ceTOHibjOMzOPkkzEcIwntP4iU+26E4aW +YS4snJDR9bMXk85rY5Huo9jq7z95T788WQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/minikrebs b/retiolum/hosts/minikrebs new file mode 100644 index 00000000..b0d60558 --- /dev/null +++ b/retiolum/hosts/minikrebs @@ -0,0 +1,10 @@ +Subnet = 10.243.1.1/32 +#Subnet = 42:0:0:0:0:0:1:1/128 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA0fu8F+XJ6hHsIj8QtdSZIhE+Ae2sEIY4dHcnHbCOeHJlOQQDJrme +frmG65BX4BMcClUyhvvMwlZIerFwsJoEwa39lB3/Y58OwSS9cNCZTShQPbyVy5wo +oS97tVUyQENMELXgodg7CUNaloVXGOyXgCOkfYOb5CpWi8NXNsSE1CjZc1XZNI2Q +2dFBzp6FtRcKc5x5xWuUMnw1Ll2upW2uHZWfgRtgv+pzxVTiNvDqACu8Klwj0bls +B87DEYeUmiC+CioOtyhiQimUGE8lU1aMaqCyfSsqeBEclSvOCnpaEQu4j6aiY8SE +5Gm+rteYWKfK2LYV2NOg7n9AUR6d0v8P2wIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/monitoring b/retiolum/hosts/monitoring new file mode 100644 index 00000000..e51c309d --- /dev/null +++ b/retiolum/hosts/monitoring @@ -0,0 +1,7 @@ +Subnet = 42:82cb:f60c:6f27:611a:42f8:906c:2c70/128 +Subnet = 10.243.97.250/32 +-----BEGIN RSA PUBLIC KEY----- +MIGJAoGBAMjS8WxgbfJKVGRIFD0Bv+odQ7THNWDIcr1p4riVbOUPxtce+abasYGl +DOwaejcHP5bF11EAOOvdEtrivZReIZqYbMz5oWHLO6GCJn7nOCZVCW4LnUuNP3u8 +KQEU5oKj7LsKrBEEOtwpfNoWuZFzuzF0A6A2n+YYoea/Ak+hEbSbAgMBAAE= +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/muhbaasu b/retiolum/hosts/muhbaasu new file mode 100644 index 00000000..490fe3fa --- /dev/null +++ b/retiolum/hosts/muhbaasu @@ -0,0 +1,13 @@ +Address = 217.160.206.154 +#Address = muhbaasu.de +Subnet = 10.243.139.184 +Subnet = 42:d568:6106:ba30:753b:0f2a:8225:b1fb + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA0f4C4xKXpnyV1ig03O2Kef8ag+/5WGkW90uxEBb/h5NY9barex+Z +KqVbkPdHhwoCIINuCVcOnJXzeo0FZtSEq3zVhscVm0PVdNfjct8a9KMsK0iUmuul +5WD9Glh5/1wkEmbRfVxDErhssz1b8YmFOAGQn+ujO/Znn3BLv36uKQvpqU2y5bzb ++rVnq3eE1bCSeuj41bgEve8+vxpforjLO6gbE91mwp3Ol6nkkp6CjpG+aFTuLCAj +YR0MIl2gGwskOGSI38QxlLouOlIGwus5f+KfC94ZP0pMwu5pT45UOUkVnlBXuZ9E +igNHG2Vtm76nB3yYHndOvuDTOufatX61dQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/nfcgate_298dbf07 b/retiolum/hosts/nfcgate_298dbf07 new file mode 100644 index 00000000..e3936b07 --- /dev/null +++ b/retiolum/hosts/nfcgate_298dbf07 @@ -0,0 +1,10 @@ +Subnet = 10.243.32.21 +Subnet = 42:9ca7:c370:a9d9:ee1b:623b:7fe6:5146 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEApPJKpk2vFwG0GSjl/Sg2IMfala2bOYSnTDO13AHIuybfmNr3H3O7 +exJ/ALN5lqnVOU5pL9GyORnAEEeaVI+eGJmQJwTtQExoLo3o12YT+mDV8YFYVqo8 +ZYQqxLlNO1gNKNDHPlZoCmwtavmv8jqGyitjCT8ZHDHiGl/ugddNOwfFHcSM1a9c +rAM4+D3Qu8YCIC3txcww77UtbFZVBQDG3UxkGbqNeD7Je1QHyZxPs0Oqj3aIYHLP +MW4H4360dW8+3U12bwYU4viD/uyCflrFvI2nY47GzF2MakC7UeUEiVDw7U9627wq +ra6GQebx7NRZjg/pTy77uxj7RFIHRFyIEQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/nomic b/retiolum/hosts/nomic new file mode 100644 index 00000000..f418233c --- /dev/null +++ b/retiolum/hosts/nomic @@ -0,0 +1,10 @@ +Subnet = 10.243.0.110/32 +Subnet = 42:02d5:733f:d6da:c0f5:2bb7:2b18:09ec/128 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAwb8Yk/YRc17g2J9n960p6j4W/l559OPyuMPdGJ4DmCm3WNQtxoa+ +qTFUiDiI85BcmfqnSeddLG8zTC2XnSlIvCRMJ9oKzppFM4PX4OTAaJZVE5WyCQhw +Kd4tHVdoQgJW5yFepmT9IUmHqkxXJ0R2W93l2eSZNOcnFvFn0ooiAlRi4zAiHClu +5Mz80Sc2rvez+n9wtC2D06aYjP23pHYld2xighHR9SUqX1dFzgSXNSoWWCcgNp2a +OKcM8LzxLV7MTMZFOJCJndZ77e4LsUvxhQFP6nyKZWg30PC0zufZsuN5o2xsWSlA +Wi9sMB1AUR6mZrxgcgTFpUjbjbLQf+36CwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/nomic2 b/retiolum/hosts/nomic2 new file mode 100644 index 00000000..63d83ff5 --- /dev/null +++ b/retiolum/hosts/nomic2 @@ -0,0 +1,10 @@ +Subnet = 10.243.0.111/32 +Subnet = 42:02d5:733f:d6da:c0f5:2bb7:2b18:09ed/128 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA4RATrMG+MJyNq77+qUqoXkBIpUeytIvUNXT5OdvU5v91Xo2eGI23 +NXiFtILDb1nEPB+L4vVWkUKRuPAy+ThgqgTH1vyugT6jRoRhWWmGmSn2GjaF+UxK +edTfGJqO0Iwn0kZsIFxXUibkmG5iRbJBoPXXz33VtNxOv2gZZ6klfv/pYWnrxmLm +RZXkE1H3Y0U2ulQEXvpexzVscfYmlAw7h0Ew4aaY2LK4spLLPjx9RdDgfwZOZdS+ +gi5cmi/qM71/o67/4XippR9+7GQ8YecbeoR4bcZpDNoDy1ri7HPPu/t6CiqsYVyg +jYGBm+IGbwI9hxGel2bXCVBGLE7gpN51TwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/ohz b/retiolum/hosts/ohz new file mode 100644 index 00000000..e452743b --- /dev/null +++ b/retiolum/hosts/ohz @@ -0,0 +1,10 @@ +Subnet = 10.243.118.171/32 +Subnet = 42:a06d:7412:809a:b74a:8052:daba:c99f/128 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA7vZFyHtBC9WbXTKcJ2mXxTsZnZqGrDzP7PVtkaBQfTT6J2Qtct5i +0klA8yvXHUeVdt+hho7rISX4LJr+RDVdhU4ZgrcyJ3rR3moRGzLUV2VLroc1Mnbs +kkK1mowNk/jZpf6XyRpGL+NFMCZexmfjTdMaMLhzoRbA6w/ffPSSuDZdbG2F5bMk +BmF6biPcS9Z652ePXh9ViUUKBpLTHQvgK5/iZjI6ik/eit50jrjO6MapUVP/7qob +VeXE7Zos3UuHLiKegN68VbFQp4qu7jNH4jRun3Pm/Zd/OaGCREIDnfyIyauDNkaT +QUEL+h0zsM+t2rLT08Wo/sdNX16iMrs9FwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/omo b/retiolum/hosts/omo new file mode 100644 index 00000000..d2788d28 --- /dev/null +++ b/retiolum/hosts/omo @@ -0,0 +1,9 @@ +Subnet = 10.243.0.89/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAuHQEeowvxRkoHJUw6cUp431pnoIy4MVv7kTLgWEK46nzgZtld9LM +ZdNMJB9CuOVVMHEaiY6Q5YchUmapGxwEObc0y+8zQxTPw3I4q0GkSJqKLPrsTpkn +sgEkHPfs2GVdtIBXDn9I8i5JsY2+U8QF8fbIQSOO08/Vpa3nknDAMege9yEa3NFm +s/+x+2pS+xV6uzf/H21XNv0oufInXwZH1NCNXAy5I2V6pz7BmAHilVOGCT7g2zn6 +GasmofiYEnro4V5s8gDlQkb7bCZEIA9EgX/HP6fZJQezSUHcDCQFI0vg26xywbr6 +5+9tTn8fN2mWS5+Pdmx3haX1qFcBP5HglwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/pante_miner b/retiolum/hosts/pante_miner new file mode 100644 index 00000000..c363681f --- /dev/null +++ b/retiolum/hosts/pante_miner @@ -0,0 +1,10 @@ +Subnet = 10.243.26.211 +Subnet = 42:b6c2:e63c:d178:a71d:e36b:8ef6:abde +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA65AhOXR3oOUcJi6qxnCWC7BduLyBth8SWsXhzKvyTLEqXBH8KcuL +H9UOrSLnwcueE2wMeHh5Rz4S3J+dwUJkGvD6eMXyJDiuIoaB8B7Iqjo1beS3gf9D +4nOv6YBjE0LsUwGKnZIR2E852MBcKUdZx4WdAYL8lB9ucFVBjKln8GxTZ1q4GEFx +XiCJddvCY9HnjlUBhCRghmRUYlgbhkNJhp0zclS8qXhqCa4cjrc586NY6dZDiIhY +AivuJayZEnrM/iEFobLcQnmq8n5o9iHCKbqRhemLeO2BAwn7SwSXnF1iTqbzK5df +zaA/G/6esPKyLfjJ7rgNBtUSfEC0Ro8yFQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/pfleidi b/retiolum/hosts/pfleidi new file mode 100644 index 00000000..59bf8f41 --- /dev/null +++ b/retiolum/hosts/pfleidi @@ -0,0 +1,9 @@ +Subnet = 42.106.88.140/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAwdoS19bbKmVncJcf+uT5nNpyuR8SL9ekd+XMoKBpoqDf0r7ap3F2 +HLNI82NSbSAA4zdASrfrDl75sJ05VIIsueNAwMkFc72YNA9CPBFGcvCNVi0d4XcC +t6voNrgCVaxT77MVBAnohT7+HfYmkTTSrLaDKusRx7ybz6ZaRO9i2peC2VWKVIjP +m3QlvPeTpIJg/nGEBNO3rotBPxpMEB+fJnWxfBHRlt9klK3VhLaXCLUt5KcJ2SA4 +q3BFQbptUfI+d6OSA9btJerdtZ3PVBqlIJ45b3RDUWMborVg6jQ7S4WBzARe1eKs +SHHk0aR5LoiSGiNVGTDlxLVe1UT1dF8voQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/pic b/retiolum/hosts/pic new file mode 100644 index 00000000..fb091856 --- /dev/null +++ b/retiolum/hosts/pic @@ -0,0 +1,11 @@ +Subnet = 10.243.64.210 +Subnet = 42:8115:848f:f56d:4025:49bf:9042:d3b8 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA7jWZo6QlyLMW1BK/PxBDgU/qBZajMfSo5nLtp/WUMSMa6cJCjFFO +ppUSfAKBu4uwzjYUmdzQMoxE2AQKT2+gMc7moxz18sVBTbbWlyueBlsTvhpC1b9k +YPs3eAJDV6mQPvKb908iubqhardaZAdODDas1S5W4N7DuZZBKryARYOoO7cN6/wd ++YDTAxf97sV5IuxCDOV1inTuOrNx8XfGU4wVVELqzd9VLCHGuD8kAcz0+emDrI9d +MSo8ryCL9tbF5owtC1A8HFDo3LM4da7411HrPHpVyOVgjXmX6bjlLIQ23XNDQOC9 +IbyhK2tCc5q+pms7gYEWPByxmy/mb6WBBQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/pico b/retiolum/hosts/pico new file mode 100644 index 00000000..b08b450d --- /dev/null +++ b/retiolum/hosts/pico @@ -0,0 +1,11 @@ +Address = 78.111.78.33 +Subnet = 10.243.0.102/32 +Subnet = 42:b103:275c:1723:edc8:b24d:452b:352a/128 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAsbe4wzTOHHLyuPO/AsfDqQHyV41qgs3dqt6uWcDcdiEsUvbCK9Ch +MQNkTktlrMRyvz6Qm/3DKptp80R648j0nWi/c3aLDkZq8weEnR9SFYfNaUp/GN4s ++Qhb+836d8Hu2+3jZWlr5Zb/p8hyhcx3NUH/skuH6Hu+piWczlN1NGksf5f7N/bp +ZBCXnCLLUYVM/0RIS8mcAIX44Zx8YFDXpByePUdyrzn+mRln6VFDnt5uGsmNw6G/ +Azn3grpidcyrW2cs3b7rysKsxOvyGBdu2zGXp+pquZq1l3f06IN+fzCtnyLTPL1K +UUEJlQa1Gsl2pVi5+HPcAj3U2yp42WJYNwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/pigstarter b/retiolum/hosts/pigstarter new file mode 100644 index 00000000..b1c08801 --- /dev/null +++ b/retiolum/hosts/pigstarter @@ -0,0 +1,12 @@ +Address = 192.40.56.122 +#Address = pigstarter.de +Subnet = 10.243.0.153 +Subnet = 42:9143:b4c0:f981:6030:7aa2:8bc5:4110/128 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA/efJuJRLUIZROe3QE8WYTD/zyNGRh9I2/yw+5It9HSNVDMIOV1FZ +9PaspsC+YQSBUQRN8SJ95G4RM6TIn/+ei7LiUYsf1Ik+uEOpP5EPthXqvdJEeswv +3QFwbpBeOMNdvmGvQLeR1uJKVyf39iep1wWGOSO1sLtUA+skUuN38QKc1BPASzFG +4ATM6rd2Tkt8+9hCeoePJdLr3pXat9BBuQIxImgx7m5EP02SH1ndb2wttQeAi9cE +DdJadpzOcEgFatzXP3SoKVV9loRHz5HhV4WtAqBIkDvgjj2j+NnXolAUY25Ix+kv +sfqfIw5aNLoIX4kDhuDEVBIyoc7/ofSbkQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/pornocauster b/retiolum/hosts/pornocauster new file mode 100644 index 00000000..cc7d8955 --- /dev/null +++ b/retiolum/hosts/pornocauster @@ -0,0 +1,10 @@ +Subnet = 42:0b2c:d90e:e717:03dc:9ac1:7c30:a4db/128 +Subnet = 10.243.0.91/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAnztrijsfao+fmNtwAjqwIDKsRaMP3ECsq2T2zqKvxwCyXk69G9bG +RFhWjgaawS9ZhnHSlgWK/vtoR0O9NxpzdU/mvdQijbVGxM02DegjO9qDSIe8EGmA +kscW4nDqYtw4rtjOVPfnNiWXbcWD8eiYR0kcSWmSvfOpVvdhTETqduTx5HRHyEFD +JRQYR/tJSvVWXmM670PENAPNJFJ4VSJR60s5A+bFT7J/uw7HzJXX28LygJz73Dj2 +2a4ev0WcZQngLq072h/91R/TOpg+ogUDVhXkQtKyFj7im0287JTL4bXGofZBhzaf ++h9dFGs1QLoNyhG/cgt9fog7boSXTelAiQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/radiotuxmini b/retiolum/hosts/radiotuxmini new file mode 100644 index 00000000..96c06931 --- /dev/null +++ b/retiolum/hosts/radiotuxmini @@ -0,0 +1,11 @@ +Subnet = 10.243.0.185 +Subnet = 42:5553:9d1f:5e66:ed7f:bbd6:b7fd:51b2/128 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA3A0wJPSrNGpb3g98iv1EDTk7s9dgUKSHf7rmqrN2IlW9g21pkGEY +T3EWz5X8mGEQbDw2im9W8Lm7OSnYuRQjNxacq5WMIN3AGpsiGB6KWEXu73lDWDkE +hL7dxjSWFSQQMUkbjhduxyaibmLLI748w5npYzhAsjICs4MsrBhcL/ER7tCwVyKm +AEKUBbLd21tVLGM5dapJslKamZ5NxeHY6TBdtbd2AQZ+67EINKt/WEx9Ruw/t57P +OAa37NhFrjBbRClQQZVOunbh1Sb0EX3Abj4oZczrtAaBfcDQbA7x2LwbqugZH/EN +i/oa3sCqOLo7ZcYvuvyxaZgWLK3KB2MEQwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/random b/retiolum/hosts/random new file mode 100644 index 00000000..59a354e9 --- /dev/null +++ b/retiolum/hosts/random @@ -0,0 +1,10 @@ +Subnet = 10.243.0.134 +Subnet = 42:725b:abec:0922:09c6:b51e:1a33:b93a/128 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEApgs77ljzQp7I8/9KbqzGjoDdNAA3Bp6dKziIJnHLAIDAHD30yY+o +UHbRPhaCP9s2M4A39wTDjrakngF75M+0covz4WBIiuGdwZywgVnliRk/9dcnqdZm +OeCxeRJ0BY3Iy8oMieFaPJW1XgwKYi2p0eSpBeKasBct2xNQwyvh+r+xHBa6NK0P +vV6rK04OrJu04U/tqklTFMTHGmZfjx1vmuecuPWZlgT39788/5aD9uqg2ldMoenE +eamrPdU2Vh6qlZc8CyHVy5YZDykbXTauUL5OmW2Om4Qc05pinsNnDXfMTkSSmWpN +oj6nieBqbp/ExuZ79LC5XxvQcAMQtk7gUwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/raspafari b/retiolum/hosts/raspafari new file mode 100644 index 00000000..1e1b4850 --- /dev/null +++ b/retiolum/hosts/raspafari @@ -0,0 +1,11 @@ +Subnet = 10.243.0.156 +#Subnet = 42:9571:c499:5adc:f9e1:8982:3cb1:cf91/128 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA14OlKZwL5+ZMwxoMTuTpt+PLr1Mp6pIlfIdYfkkx1od6c3fuvNi6 +CHLpR0fAWDDec/hDwR55VLzonDrPa/nOj6yHCXCTpHhQXJIdZTazxSPAsUuzzKa+ +TZQcCGZWJKG09Rg8gIceTjS99l7BOVtPQXnVQc7Gfxu8csjynHOHWinZy34JU9FA +HdcTzKsxrAr297iQCPEht7XPDCJj2hRy+NS5UOzkTF7UGTKveyRdsqVIWx/rMrll +UlBEwxRpstuhG33bv+tAXKNi2eJn32IvHDhPZtHgrvXE71FT43V6bJLT0+xH2qFc +SGZCCdjv3/3mO/g7Kkth64mpxMw93NGkEQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/rtjure b/retiolum/hosts/rtjure new file mode 100644 index 00000000..f79b42a9 --- /dev/null +++ b/retiolum/hosts/rtjure @@ -0,0 +1,10 @@ +Subnet = 42:10ce:c102:97e9:f234:fc0d:3e91:1ac0/128 +Subnet = 42.122.79.178/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA1yyfTmYInif82KH/bz6Z2tzSp6loe6wJuBmjTbxIl9AFvGPgYNSI +QCyzZtqcK55+fbA1dQiF1aZLxADM/H42AvrDAKX5C0qi7K4OhciqckutLS6OxwQu +jnfCA6CST8LQ3cy6CIjjQfuBzQWcU79UwgCIJZuJknHYOIJ9j3BBHU8XVJqY2qxB +nE8yIyDstY/hVOLgsLTteWGCTq52C+U19LND1/3T70iWqiJgepsGjVCa/M1v/SLg +acboxH1jRyX+bVbjPCAG2OKQO+hTqJnjVX8LO2qlnxovUDx36igzGCjTGKFA/KVW ++FxMAVZdNRTTzLiB+LUenXb8E8/uqBj3bwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/rubus b/retiolum/hosts/rubus new file mode 100644 index 00000000..e5f0a729 --- /dev/null +++ b/retiolum/hosts/rubus @@ -0,0 +1,10 @@ +Subnet = 10.0.7.7.55 +Subnet = 42:537a:0c95:6315:6598:e109:74b2:0887/128 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAqudpo1cC1ETPA3d16cNTAwwud195Yetdx32ty5/VkY2KgLnnl672 +XTPZBVhFppG+NU6QIYq2c0+BdUV+42XNnSeTKy79xr49eSMDaAXuWiX4eY8dh4v9 +n7elTWikzTaElS5SI3wcJPz8SdajWclnRkqXbyMY7Pw7uJMgT3svC/chN8tgp1LT +2s1DdvxaHhnFPef2NQvIWgfgytReLB8dQnSYoAiwIGvNXQT4OXgshJkTAwmok/Sq +io8K1FeJyOranBM/ZyYbQWMEXuknoJ9PXKPbrGjD+ftS18Gs75ODWqh/Bpj75rpT +q6HLJv6H6YpToxueTL1iYM00MNW4g/oPZQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/senderechner b/retiolum/hosts/senderechner new file mode 100644 index 00000000..4cce73ca --- /dev/null +++ b/retiolum/hosts/senderechner @@ -0,0 +1,10 @@ +Subnet = 10.243.0.163 +Subnet = 42:b67b:5752:a730:5f28:d80d:6b37:5bda/128 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA0zCc5aLVRO6NuxUoR6BVzq2PQ/U5AEjYTdGkQufRot42N29MhxY7 +lJBfPfkw/yg2FOzmAzTi62QyrLWSaF1x54rKu+JeNSsOAX+BorGhM67N45DGvJ0X +rakIL0BrVoV7Kxssq3DscGVbjbNS5B5c+IvTp97me/MpuDrfYqUyZk5mS9nB0oDL +inao/A5AtOO4sdqN5BNE9/KisN/9dD359Gz2ZGGq6Ki7o4HBdBj5vi0f4fTofZxT +BJH4BxbWaHwXMC0HYGlhQS0Y7tKYT6h3ChxoLDuW2Ox2IF5AQ/O4t4PIBDp1XaAO +OK8SsmsiD6ZZm6q/nLWBkYH08geYfq0BhQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/seruundroid b/retiolum/hosts/seruundroid new file mode 100644 index 00000000..b4f0848e --- /dev/null +++ b/retiolum/hosts/seruundroid @@ -0,0 +1,12 @@ +Subnet = 10.243.127.2 +Subnet = 42:81de:f850:152b:0988:1942:265d:dacb + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAvNtSbaaacF05L2mAxxA5SYc6DuoZEAkXlhcvLTlpu9f/0vZwUWh7 +175pLn6VqUijVoFb9vyoOwkrs9Uk3aX8mYws+5yJLwXhIje+U3uiVTphowKva+m9 +BzV6waZ5dLbh+3CGimx1TBkFTly3NkdZs886QWSO4aXLdU6lt3jRYsuay0Eop/j0 +eQ0BWg9o0QEcfDRQ7RirXrD0B7TSo6qZC0b4NSAMHTE+dvOMo7c+Z7cIPNLS0B+T +Am7ju3gF7UU68kKPyczrNSPPPZayEvZYUZE4PHt8dyIsppojoRq0SJqsMr/mOC15 +dg/KnoKezn9nqUWzisRWrrqWStAKITJkjQIDAQAB +-----END RSA PUBLIC KEY----- + diff --git a/retiolum/hosts/shabruecke_a0e95c28 b/retiolum/hosts/shabruecke_a0e95c28 new file mode 100644 index 00000000..7b9cbfa0 --- /dev/null +++ b/retiolum/hosts/shabruecke_a0e95c28 @@ -0,0 +1,12 @@ +Subnet = 10.243.206.121 +Subnet = 42:4687:e87e:41af:e84b:c52f:ccfb:d2f7 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAzN5IRY/9kN8ix5yW2uv1Ltj5rKx1deloB4C/nBsPToA9E/ojASkR +7V2NDpJGj9QTP4/8ivi0lI+BNOrlHMKxaVvxy/LBmqDQ8ccMQX/4MNGhv1d09iu/ +SBuko/f6lYHm4y71fQlgVuDPS8RDRY/2+008L6rq72RTxuvHZm7smyxDNoUTKWFK +iJfCxV6nLPiUt3ioEzTMDKAZ7xbOofsTbAxe5Uh4jc9wr3XYkN3y6KHMWDyjWYAo +WHN0sdEkWONrJvS2b4L3Vl7Mw80Sg1HjmOEJmygY63bDgfP1UnH/ezJxX79RLeZi +VNF1fD0rJPN937fkYchOT4HJP+RvydB5DwIDAQAB +-----END RSA PUBLIC KEY----- + diff --git a/retiolum/hosts/sir_krebs_a_lot b/retiolum/hosts/sir_krebs_a_lot new file mode 100644 index 00000000..f4fffd9d --- /dev/null +++ b/retiolum/hosts/sir_krebs_a_lot @@ -0,0 +1,11 @@ +Address = 84.23.79.81 +Subnet = 42:48bd:f4cd:b2f1:ff6b:865c:d041:def6/128 +Subnet = 42.130.57.249/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAzkVF0BSWUEqzdUidLTa6qL4wlNSb8gaxyZperzoAj65d5l25SCqc +jjqvREcE6p+jM4t1STXoohnNvexubNXW3PVo5Zpew+BsaGjVvow0LkqCJ9k96Rrk +JzU5lAVH6om3/QYws/Ot0zq1Z/+Xw/0+9JpVKhEipMWLpLgjAvWdvzSW6aBIHVN1 +3E85fkTE5f0azct+XNSNzUebdyIy8wu/EexGmFI9bN+ewIvqjZJdvxP+Ank55MsE +8P7K9TKwVXw440MGqqoQaOhdaT75TL+2nsAfWYcrNnE3YehMOmCMp9oY+RAvsIkK +iAYyF5l7ZTi/7KGHNsG7rr0cbytiz2nS6wIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/skirfir b/retiolum/hosts/skirfir new file mode 100644 index 00000000..0214e7a1 --- /dev/null +++ b/retiolum/hosts/skirfir @@ -0,0 +1,11 @@ +Subnet = 10.243.0.18/32 +Subnet = 42:423b:0f94:6b03:7c3c:593e:67e8:c857/128 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAvQ2yhEbW2a7rOlJGb7pV8OhDMQC00jNffM9LML+sn/BAbIX6jzzi +XgD9o5qwyW/ktpEViUbYepIB/wBbHdMgHRWux5nPS/WygxnVKcf4mPr846udJ2kx +/38l40DjHTzMWTV6G+TFm4+Wg7++B/NUonMJczRNjX4zDVwmObZpS+XSjl8bT1DP +vvNHeUOr06a/IPyOF7b6B/dlr+0pr4YLFw587M1KA+eee8gvJx7YvCdwUMMJP++K +KX30apeJQ+jpf9CsVvpxGefysMTv0uUB7Rmya3b5jjddnW0ge6lTMwT87TzIF5jz +e3hIt+dvvq7cHI7nnyyRtKcvcm1hH+ZIaQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/slowpoke b/retiolum/hosts/slowpoke new file mode 100644 index 00000000..09e415e1 --- /dev/null +++ b/retiolum/hosts/slowpoke @@ -0,0 +1,13 @@ +Address = 62.113.241.235 +Subnet = 10.243.232.121 +Subnet = 42:7d8f:9e3a:dcc7:9b22:d1ca:7e28:fe9c + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA9EtaOHLa0CyOGpX3rzMLqi9HqrjzVe3XdSfcb9QPYwcbxpPYNLLk +/1+4vxOI/TEh1QCu0bzPLy8tAwKF2DwnCH72yae17I0jVMW29Ng3Fdjzb3SmWJbf +C87X7c+Nx5+Yc7OIdvTi/BGPNpDEp7nJugubH1whSFfulCDbsGU3rX5IsDUiw4ha +B+5wH1coQl+Yp+M1ws5+PoHgYQ/ApYPBKEn+H7JAdnOTLbo0eI3B1PuDUrsMakMq +s4f74d2Z405xUGHhRRcerF0h5VD58TADxx7RSRd7oR06KlXM/RaqOkw9vzvA2vBq +CC+LdtIV7wWxF3uRAnk6odeFvqZTHvR4WQIDAQAB +-----END RSA PUBLIC KEY----- + diff --git a/retiolum/hosts/smove b/retiolum/hosts/smove new file mode 100644 index 00000000..fc7e194f --- /dev/null +++ b/retiolum/hosts/smove @@ -0,0 +1,9 @@ +Subnet = 10.243.42.42 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAzFFj6yAy2qC4gVrUV5vN6PztulRggkyXIMr2oPmPLuB85uxJE9nI +9uvsQdbgcmmEM++moPM/ASCEXuu1ikUK1Gl+8C3rv2IxF/zhcrWEJV4e4EvHrBWP +Xt4hSPyFG3LYpaX1OAWL2zmCvGVDmflWp+YkbBRrkMMEyXg0gZMNx+E7yJiNVYFo +DZ7p4VSncWsAqk0I1varQpkl7BR6p7QcJlMO403Rh2oQT1bPXskkZsfAyXN8wJTP +ATiTm5vijXiRUao+h9L60oxQTcvi9hcbhg+FpB3HYx2Rq6lWR0SqDO2OiBTTJnFM +6qvN7Wfdmxim0mLAwaqccRLCWA06iN8b7wIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/soundflower b/retiolum/hosts/soundflower new file mode 100644 index 00000000..25de9776 --- /dev/null +++ b/retiolum/hosts/soundflower @@ -0,0 +1,11 @@ +Subnet = 10.243.69.184 +Subnet = 42:5f6b:4756:e6a3:d304:adad:fef8:7e2f + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA0a0oenAy9MDa2M6NoLtB8elduGgc3oLtUwsm3iUu6w8L+Je5TndN +H8dPn3sByUk1Jkd8tGGRk/vSFj/mtUn7xXKCnFXfKDqVowu/0KS3Q+6o4mcoATeb +Ax7e6Cz1YH5+qhQjR7apuase9X9Dzp56//5VW2gaScvWevvzrij2x7eNvJRF+W/l +FDXc8zBPkFW5TLFHOizRoLl4mK1hz2NrUiqcq5Ghs2yPsFxl/o5+e2MOwtdI49T6 +lMkeshAeNOSMKYfP9nmHZoKI/MIpGak0EF3ZQtLvyv+tM2Q0nuwH3RvxlK/Xf6U+ +8SoQu4yRIeK+pMiLEHhFPzBpk+sblUlG7QIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/steve b/retiolum/hosts/steve new file mode 100644 index 00000000..f86eaa50 --- /dev/null +++ b/retiolum/hosts/steve @@ -0,0 +1,10 @@ +Subnet = 42:58a0:e7b1:506e:b09e:1b68:5149:c6e8/128 +Subnet = 42.145.33.57/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA2mt6xByDU2eVsQhjG33vT18Byfxqq4TPOvbV8RAyx0RWeolXGWnx +p+wKHVITCyL5JCYs7fUYQoDC900bQa/waWgcN8dHfiUmUPtiUjcc35UWaNTLkVGs +XEe47JMpnnB3D8ynXXKHsG8JXFjpxQpan/fnSuUG7nsB6anxjNHstkmsGGp60P1V +6Xt5GcN+Mw1peH5LhIOcXaMNEHj/DlIjQSubCf3yelcxoSgnZibP5GfiI6JwKXDu +A3Sv+wfAGTYdTOE6RBsvBI0lTNUSw02WxaMG4Hfe6+19XEnC1bSwg8+7VsqFmeWi +uoaQeerhP1QD3GIX81Xe8ENvvFGzCdfARwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/supernode b/retiolum/hosts/supernode new file mode 100644 index 00000000..354beba0 --- /dev/null +++ b/retiolum/hosts/supernode @@ -0,0 +1,13 @@ +Address = 46.252.21.5 +Subnet = 42:0:0:0:0:0:0:255/128 +Subnet = 10.243.0.1/32 +Subnet = 0.0.0.0/0 +Compression = 9 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAr3DlBmQxP9UTBCkohK8FCYSk2td4Ov5lQYvC3Adx04lEWHfp+0nP +sShYqqN9Aj3iCqj/DHx5jGuSqjyTmmFWIOMM9IwKMo2Oiz/PcBM56N6gzIHuR5wj ++0bV0NRhePD2Tqo3zsEly9Hxw7xmz8azm5l4GcyOtgdRV7R1T3j/jB/9Kv2sj2Y7 +1zhSedCxjt/+NosiZZGE2JhLjzMgsCZSroAIKCZ3X/DP81mTTRxibjol82/Qn61I +b7GbuuB7SwjtZ+9xjsExN1JX5+AFuw9a3AkYuKWLpP50YY16/OTPq7flmB/EtK+Z +rrESIYKtX7pJbLc8Ywi0hBL5oPm07q+0BQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/tahoe b/retiolum/hosts/tahoe new file mode 100644 index 00000000..3510fe0a --- /dev/null +++ b/retiolum/hosts/tahoe @@ -0,0 +1,11 @@ +Subnet = 10.243.57.85 +Subnet = 42:2f06:b899:a3b5:1dcf:51a4:a02b:8731 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAx6R+CuJu4Bql+DgGPpE7wI+iasRY6ltxW0/L04uW9XiOKiEjx66y +QMMaW18bcb0SOfTE8qYo8pOsZ5E9FFPY6cKH4DGi8g1FpaODle9V8RrVg3F7RuZ8 +dXDXeZxvYvJ2LwPBvlr1aisqJqgxAwF2ipPPX97rAYbp46a/vkgU5bPF1OFlTDaH +9jjThuidiEwY4EMtJGKisnTGx8yS5iQibDMqzrcRpCxCLcl68FgFNKCTtSIj1mo6 +hgO1ZKmHw73ysmrL2tImmalHYcqDJnq/KInG2ZkCZI/2ZqfJyrRSTk86t5ubfD6p +egC5N0Y5dQHJd66AytNwXxymiAcWuYth9QIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/taschenkrebs b/retiolum/hosts/taschenkrebs new file mode 100644 index 00000000..94c37ead --- /dev/null +++ b/retiolum/hosts/taschenkrebs @@ -0,0 +1,11 @@ +Subnet = 10.243.0.66/32 +Subnet = 42:55bf:5f2b:73f4:f989:910e:ee73:2831/128 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA0YAfK9s29WDjJmiri3Oj0hEyjKui9ylA3mlmWSiTLnk1O2REOwgD +5DPsdYPbu+bTkW7GdzcxX/mNvHogWgC+2+F70dles1lDiSDUhSQOEHFMlz+rBbvz +FGY3Xmm3m3qdRYOcpHUXL/ZXN6kBvsl2b5rfEkejRb+Z1OOLjssISEzNe2vPEnp4 +OmY8ZQA5UAjnxsX+GKsH2OBqD+6Xm+/l/XLHDApHfby+X3upXaJRBjUAp8DiOm0T +hVHfYXEE3iuC8JaCzWSFtG+4qLXf9MJ5xRfwUkuyPqiiTIpeM8GxHQJ+l+QKycNd +Dk+9AwsQ/WsoXMHqIWHyNmuqhr82wEQo4QIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/terrapi b/retiolum/hosts/terrapi new file mode 100644 index 00000000..cf1748eb --- /dev/null +++ b/retiolum/hosts/terrapi @@ -0,0 +1,11 @@ +Subnet = 10.243.30.159 +Subnet = 42:b0bd:090e:2a37:2cb4:3314:58e7:20d1 + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAtVhVDRBzq0L6JtdVUVEakBzhMP2RjOj7cHZnEUsXzl1TXxuOBhL1 +XOXd3LUuU0jNMMvzxO2VU7K/wM6lX30B6ryqDSfsXKEBM60BiGVzb4Kd+7No76RN +0NsoLygtvtOm1SmvvT1UCsjomoIE4eGdBDsfQzNKt2PUoh/0rTZBHd6qGJuCZQSX +F4IRby4jzYvjOsaSi7GVadvhoyETVxbUAi9VquxOltytA+Ud4CXPb/JW25uVmQQK +RXhoWahWJGJ2WJLGnT1RkTvFQk0zM3XJfPBVItnKCYHuE5HMU/5nnnPvKWiICdsA +1NNU8+kXtK3IJEHwfpRWe/isMj8rROU37wIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/tincdroid b/retiolum/hosts/tincdroid new file mode 100644 index 00000000..c240f3d6 --- /dev/null +++ b/retiolum/hosts/tincdroid @@ -0,0 +1,9 @@ +Subnet = 10.243.0.11/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAwZSgdnymspnwy8NOJ1UKVIbUXxaDUCLWGGtSpYvRt4wrzkIMpeyc ++Bi2c/85Guy6B5H7X+3hMY7YFzM8AiixVr/FCAlKFwseZOc8ld07PuUPVtqdRN9N +Dy4dqATaaWvjGL9320AJmccbYvoV0MZGTmWk86ZaA06tgDb0ZihEfYEFhw+5fakE +7mxpdYmVdzaqScRyKWCF7ogn91/fQ01om/hsl+wzTI/ykqPTUumdNcijBMIK8EtZ +qJbgOt9NSKulhDBFJ02vJmt3o6hmJSONjKcN7dify/ZotQffGCRMgdaWx0YTQJxY +VJ1rPLlbZaPWRydsbMm3BTZAdMRXUq3uDwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/upm b/retiolum/hosts/upm new file mode 100644 index 00000000..ec1c6de5 --- /dev/null +++ b/retiolum/hosts/upm @@ -0,0 +1,9 @@ +Subnet = 42.185.142.239/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA5fuAUXiquBrtqyZO7L6vGqR2JiWHkglJknTIrAJJLiWlnD0qeFKa +tJYCYkpMdkMX9o+EExf+WDgufMyjiF/AQMfQLKqk+K4UnZ4zx1kfY1yLFLue7yWt +mVO8b+NCSSGOuUX+YA9OiZ29Hv6N71Q2tn+1wS5kQlmly31LhBQV9X+RJ4HQlsEv +qEYLliy0mBMdch1wdThc6/kI4VOuX47rFfTvJ+qOAG/a4v2PpiSX9GwZNgd7ce1+ +poTM1nR6KePXdyjXNtRDNnRAK25KA+M7waJZgdDF2zPNQRZ/YT01opHiHVhb/X2h +AaHTB6/r6BYHbtVidRIwKRzrHiV61aEviwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/vault b/retiolum/hosts/vault new file mode 100644 index 00000000..7ed3866c --- /dev/null +++ b/retiolum/hosts/vault @@ -0,0 +1,10 @@ +Subnet = 10.243.229.17 +Subnet = 42:17ed:1eff:5aab:a541:57a2:7ca2:5c38 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAzra4v9cIU8mUeC8Vr1YUTWxir/IexD4FlGc087+i7hu6LLpt7Xi8 +XdwiGMTmQLegohtaVN3yShX1a5YywAboxaZFS1aLFBptmV9VIMtsTJRIgm2dBwMy +5tFRfu3ElV408JBr8OGwYC967p/SY5hxvSAQRc2cmSeY5duWGxybpzfdKmnjnmLr +pGfmavBaLAi2DP+KejCFjAu4oWayVlM2BIXtbtxxn90JvZ8HI4gdfHLBbwfxiEHb +qODqiWbu7wznQ3g4N5SUW2rq8WUqubufcx30Z+096doc0i+Zdxb5JBU79CGTNcbZ +X6Spc/CtkrLNbsTCjVmXgNvYo6WZeg4+rwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/ytart b/retiolum/hosts/ytart new file mode 100644 index 00000000..09a55f65 --- /dev/null +++ b/retiolum/hosts/ytart @@ -0,0 +1,9 @@ +Subnet = 10.243.65.226/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA2yCCN8nAPmZNL75Jr+FtfP5jmyuqg7IpgfW03L3s8Gg7NB1eTQAg +UFPh13cj4lZleZOl3Yus7yx4HxMO8tYCptqnRPyP+UXrxvL+kECS4J3rLzjH/eOM +0oAxuEe+DOa5R9Vj2bRtTouePlEvXDpgZZcDnedutRUYFGLNvkoWxu0RGqfQaJmd +7KtOk1NJn9efNqwpl6ejPj5A+ivh2T1vAMWherM60JTjjhNGiSP4so0WG8PlBPYc +GKnmMSQl0u5n10uTvLoVvnSfLj/QvL3d8abTrFV2lRqaCTJy+lxgkS1A5AnsTP1G +OBbm/Gk9hRuYy2iP6FQ65q64/JfoeoqpPwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/scripts/README b/retiolum/scripts/README new file mode 100644 index 00000000..4dbb42af --- /dev/null +++ b/retiolum/scripts/README @@ -0,0 +1,16 @@ +This Folder contains all the cool scripts created for tinc_retiolum + +currently the following functions are deployed: + +adv_graphgen/ - makefu + this folder contains a script suite which parses the interesting + parameters from the syslog file by sending SIGUSR2 to the tinc process + +tinc_multicast/ - Miefda,Lassulus + A tinc multicast script suite which provides automagic-discovery in a + local network by utilizing multicast + +tinc_setup/ - makefu (i am so sorry...) + A number of scripts which build and configure tinc on a local machine. + Core is the install.sh script which actually writes the configuration + and creates users as well as private/public keys diff --git a/retiolum/scripts/adv_graphgen/DEPS b/retiolum/scripts/adv_graphgen/DEPS new file mode 100644 index 00000000..b9a591d3 --- /dev/null +++ b/retiolum/scripts/adv_graphgen/DEPS @@ -0,0 +1,4 @@ +graphviz +imagemagick +python2 +pygeoip diff --git a/retiolum/scripts/adv_graphgen/Makefile b/retiolum/scripts/adv_graphgen/Makefile new file mode 100644 index 00000000..fafac84e --- /dev/null +++ b/retiolum/scripts/adv_graphgen/Makefile @@ -0,0 +1,4 @@ +install: + #punani install graphviz + echo "add this line to your tinc.conf if you dare:" + echo 'GraphDumpFile = |/krebs/retiolum/scripts/adv_graphgen /srv/http/tmp/graphs/' diff --git a/retiolum/scripts/adv_graphgen/README b/retiolum/scripts/adv_graphgen/README new file mode 100644 index 00000000..082e0f2b --- /dev/null +++ b/retiolum/scripts/adv_graphgen/README @@ -0,0 +1,28 @@ +The folder contains a number of scripts which provide a convenient way to +generate advanced graphs from the SIGUSR2 output of tinc. + +it currently contains the following files: + +sanitize.sh: + wrapper arond parse.py which filters the syslog file for all tinc + related lines and removes the status informations: + this means that + <code> + May 19 20:40:44 servarch dnsmasq[5382]: reading /etc/resolv.conf + May 19 20:41:38 servarch tinc.retiolum[4780]: Error looking up pa-sharepoint.informatik.ba-stuttgart.de port 655: Name or service not known + </code> + becomes + <code> + Error looking up pa-sharepoint.informatik.ba-stuttgart.de port 655: Name or service not known + </code> + and so on. + It also provides a wrapper around graphviz which automagically + generates graphs from the produced graph file + +parse.py: + reads from stdin the sanitized syslog file and prints a valid dot file + from the given output. + The parser module may also produce any other output (e.g. for dns + entries and so on) you will need to actually read and modify the source + in order to be able to do this. ~May the source be with you~ + diff --git a/retiolum/scripts/adv_graphgen/all_the_graphs.sh b/retiolum/scripts/adv_graphgen/all_the_graphs.sh new file mode 100755 index 00000000..381c7aeb --- /dev/null +++ b/retiolum/scripts/adv_graphgen/all_the_graphs.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +( + echo "`date` begin all graphs" >> /tmp/build_graph + cd $(dirname $(readlink -f $0)) + PATH=$PATH:../../../util/bin/ + export LOG_FILE=/var/log/tinc-retiolum.log + export TINC_LEGACY=true + EXTERNAL_FOLDER=/var/www/euer.krebsco.de/graphs/retiolum + INTERNAL_FOLDER=/var/www/euer/graphs/retiolum + begin=`timer` + export GRAPHITE_HOST="no-omo" + export GEOCTIYDB="$PWD/GeoLiteCity.dat" + (python tinc_stats/Log2JSON.py | python tinc_stats/Geo.py > $INTERNAL_FOLDER/marker.json)& + (./anonytize.sh $EXTERNAL_FOLDER && echo "`date` anonytize done" >> /tmp/build_graph)& + (./sanitize.sh $INTERNAL_FOLDER && echo "`date` sanitize done" >> /tmp/build_graph)& +# wait + graphitec "retiolum.graph.buildtime" "$(timer $begin)" >> /tmp/build_graph + echo "`date` end all graphs" >> /tmp/build_graph +)& diff --git a/retiolum/scripts/adv_graphgen/anonytize.sh b/retiolum/scripts/adv_graphgen/anonytize.sh new file mode 100755 index 00000000..4c16daf9 --- /dev/null +++ b/retiolum/scripts/adv_graphgen/anonytize.sh @@ -0,0 +1,30 @@ +#!/bin/sh +set -euf +cd $(dirname `readlink -f $0`) +GRAPH_SETTER1=dot +GRAPH_SETTER2=circo +GRAPH_SETTER3='neato -Goverlap=prism ' +GRAPH_SETTER4=sfdp +LOG_FILE=${LOG_FILE:-/var/log/syslog} +TYPE=svg +TYPE2=png +OPENER=/bin/true +DOTFILE=`mktemp --suffix=anon` +trap 'rm $DOTFILE' INT TERM KILL EXIT +sudo -E python tinc_stats/Log2JSON.py |\ + python tinc_stats/Graph.py anonymous> $DOTFILE + + +i=1 +for setter in dot circo 'neato -Goverlap=prism ' sfdp +do + tmpgraph=`mktemp --tmpdir=$1` + $setter -T$TYPE -o $tmpgraph $DOTFILE + chmod go+rx $tmpgraph + mv $tmpgraph $1/retiolum_$i.$TYPE + i=`expr $i + 1` +done +convert $1/retiolum_1.$TYPE $1/retiolum_1.$TYPE2 +#convert -resize 20% $1/retiolum_2.$TYPE $1/retiolum_2.$TYPE2 +#convert -resize 20% $1/retiolum_3.$TYPE $1/retiolum_3.$TYPE2 +#convert -resize 20% $1/retiolum_4.$TYPE $1/retiolum_4.$TYPE2 diff --git a/retiolum/scripts/adv_graphgen/map.html b/retiolum/scripts/adv_graphgen/map.html new file mode 100644 index 00000000..ef8a0565 --- /dev/null +++ b/retiolum/scripts/adv_graphgen/map.html @@ -0,0 +1,88 @@ + + +<!DOCTYPE html> +<html> + <head> + <title>Simple Map</title> + <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> + <meta charset="utf-8"> + <style> + html, body, #map-canvas { + margin: 0; + padding: 0; + height: 100%; + } + </style> + <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script> + <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script> + <script type="text/javascript" src="jquery.ui.map.js"></script> + <script> + var map; + var markerlist ={}; + function addInfoWindow(marker, message) { + var info = message; + + var infoWindow = new google.maps.InfoWindow({ + content: message + }); + + google.maps.event.addListener(marker, 'click', function () { + + // close all the infowindows + $.each(markerlist,function (k,v){ + v["infowin"].close() + }); + infoWindow.open(map, marker); + }); + return infoWindow; + } + function initialize() { + var mapOptions = { + zoom: 5, + center: new google.maps.LatLng(51,9), + mapTypeId: google.maps.MapTypeId.ROADMAP + }; + map = new google.maps.Map(document.getElementById('map-canvas'), + mapOptions); + + $.getJSON("marker.json",function (data){ + $.each(data,function (k,v) { + + // add initial marker + var pt=new google.maps.LatLng(v["latitude"],v["longitude"]) + var marker= new google.maps.Marker({ + id: k,map:map,title: k,position:pt,content:k}) + + // add edges + $.each(v["to"],function(iter,val){ + var line = [ + pt, + new google.maps.LatLng(val['latitude'],val['longitude']) + ] + + var connector = new google.maps.Polyline({ + path:line, + strokeColor: "#FF0000", + strokeOpacity: 1.0, + strokeWeight: 2 + }) + connector.setMap(map); + val["line"]=connector + + }) + + + marker["infowin"]=addInfoWindow(marker,k+'<br/>'+v["city"]); + markerlist[k] = marker; + }); + }) + }; + + google.maps.event.addDomListener(window, 'load', initialize); + + </script> + </head> + <body> + <div id="map-canvas"></div> + </body> +</html> diff --git a/retiolum/scripts/adv_graphgen/sanitize.sh b/retiolum/scripts/adv_graphgen/sanitize.sh new file mode 100755 index 00000000..8da6ec70 --- /dev/null +++ b/retiolum/scripts/adv_graphgen/sanitize.sh @@ -0,0 +1,32 @@ +#!/bin/sh +set -euf +cd $(dirname `readlink -f $0`) +GRAPH_SETTER1=dot +GRAPH_SETTER2=circo +GRAPH_SETTER3='neato -Goverlap=prism ' +GRAPH_SETTER4=sfdp +LOG_FILE=${LOG_FILE:-/var/log/syslog} +TYPE=svg +TYPE2=png +OPENER=/bin/true +DOTFILE=`mktemp --suffix=san` +trap 'rm $DOTFILE' INT TERM KILL EXIT +sudo -E python tinc_stats/Log2JSON.py |\ + python tinc_stats/Graph.py complete > $DOTFILE + + +i=1 +for setter in dot circo 'neato -Goverlap=prism ' sfdp +do + tmpgraph=`mktemp --tmpdir=$1` + $setter -T$TYPE -o $tmpgraph $DOTFILE + chmod go+rx $tmpgraph + mv $tmpgraph $1/retiolum_$i.$TYPE + i=`expr $i + 1` +done + +convert $1/retiolum_1.$TYPE $1/retiolum_1.$TYPE2 +#convert -resize 20% $1/retiolum_2.$TYPE $1/retiolum_2.$TYPE2 +#convert -resize 20% $1/retiolum_3.$TYPE $1/retiolum_3.$TYPE2 +#convert -resize 20% $1/retiolum_4.$TYPE $1/retiolum_4.$TYPE2 +rm $DOTFILE diff --git a/retiolum/scripts/adv_graphgen/tinc_stats/Availability.py b/retiolum/scripts/adv_graphgen/tinc_stats/Availability.py new file mode 100755 index 00000000..a1ef13f1 --- /dev/null +++ b/retiolum/scripts/adv_graphgen/tinc_stats/Availability.py @@ -0,0 +1,58 @@ +#!/usr/bin/python +# -*- coding: utf8 -*- + +import sys,json +""" TODO: Refactoring needed to pull the edges out of the node structures again, +it should be easier to handle both structures""" +DUMP_FILE = "/krebs/db/availability" + +def get_all_nodes(): + import os + return os.listdir("/etc/tinc/retiolum/hosts") + +def generate_stats(): + """ Generates availability statistics of the network and nodes + """ + import json + jlines = [] + try: + f = open(DUMP_FILE,'r') + for line in f: + jlines.append(json.loads(line)) + f.close() + except Exception,e: + pass + all_nodes = {} + for k in get_all_nodes(): + all_nodes[k] = get_node_availability(k,jlines) + print ( json.dumps(all_nodes)) + +def get_node_availability(name,jlines): + """ calculates the node availability by reading the generated dump file + adding together the uptime of the node and returning the time + parms: + name - node name + jlines - list of already parsed dictionaries node archive + """ + begin = last = current = 0 + uptime = 0 + for stat in jlines: + if not stat['nodes']: + continue + ts = stat['timestamp'] + if not begin: + begin = last = ts + current = ts + if stat['nodes'].get(name,{}).get('to',[]): + uptime += current - last + else: + pass + last = ts + all_the_time = last - begin + try: + return uptime/ all_the_time + except: + return 1 + +if __name__ == "__main__": + generate_stats() diff --git a/retiolum/scripts/adv_graphgen/tinc_stats/BackwardsReader.py b/retiolum/scripts/adv_graphgen/tinc_stats/BackwardsReader.py new file mode 100644 index 00000000..6bdbf43c --- /dev/null +++ b/retiolum/scripts/adv_graphgen/tinc_stats/BackwardsReader.py @@ -0,0 +1,35 @@ +import sys +import os +import string + +class BackwardsReader: + """ Stripped and stolen from : http://code.activestate.com/recipes/120686-read-a-text-file-backwards/ """ + def readline(self): + while len(self.data) == 1 and ((self.blkcount * self.blksize) < self.size): + self.blkcount = self.blkcount + 1 + line = self.data[0] + try: + self.f.seek(-self.blksize * self.blkcount, 2) + self.data = string.split(self.f.read(self.blksize) + line, '\n') + except IOError: + self.f.seek(0) + self.data = string.split(self.f.read(self.size - (self.blksize * (self.blkcount-1))) + line, '\n') + + if len(self.data) == 0: + return "" + + line = self.data[-1] + self.data = self.data[:-1] + return line + '\n' + + def __init__(self, file, blksize=4096): + """initialize the internal structures""" + self.size = os.stat(file)[6] + self.blksize = blksize + self.blkcount = 1 + self.f = open(file, 'rb') + if self.size > self.blksize: + self.f.seek(-self.blksize * self.blkcount, 2) + self.data = string.split(self.f.read(self.blksize), '\n') + if not self.data[-1]: + self.data = self.data[:-1] diff --git a/retiolum/scripts/adv_graphgen/tinc_stats/Geo.py b/retiolum/scripts/adv_graphgen/tinc_stats/Geo.py new file mode 100755 index 00000000..038ca9c0 --- /dev/null +++ b/retiolum/scripts/adv_graphgen/tinc_stats/Geo.py @@ -0,0 +1,54 @@ +#!/usr/bin/python3 +# -*- coding: utf8 -*- +import sys,json,os +from Graph import delete_unused_nodes,resolve_myself +GEODB=os.environ.get("GEOCITYDB","GeoLiteCity.dat") + +def add_geo(nodes): + from pygeoip import GeoIP + gi = GeoIP(GEODB) + + for k,v in nodes.iteritems(): + try: + nodes[k].update(gi.record_by_addr(v["external-ip"])) + except Exception as e: + sys.stderr.write(str(e)) + sys.stderr.write("Cannot determine GeoData for %s\n"%k) + + return nodes +def add_coords_to_edges(nodes): + from pygeoip import GeoIP + gi = GeoIP(GEODB) + + for k,v in nodes.iteritems(): + for i,j in enumerate(v.get("to",[])): + data=gi.record_by_addr(j["addr"]) + try: + j["latitude"]=data["latitude"] + j["longitude"]=data["longitude"] + except Exception as e: pass + + return nodes + +def add_jitter(nodes): + from random import random + #add a bit of jitter to all of the coordinates + max_jitter=0.005 + for k,v in nodes.iteritems(): + jitter_lat= max_jitter -random()*max_jitter*2 + jitter_long= max_jitter -random()*max_jitter*2 + try: + v["latitude"]= v["latitude"] + jitter_lat + v["longitude"]= v["longitude"] + jitter_long + for nodek,node in nodes.iteritems(): + for to in node['to']: + if to['name'] == k: + to['latitude'] = v["latitude"] + to['longitude'] = v["longitude"] + except Exception as e: pass + return nodes + +if __name__ == "__main__": + import json + nodes = add_jitter(add_coords_to_edges(add_geo(resolve_myself(delete_unused_nodes(json.load(sys.stdin)))))) + print (json.dumps(nodes)) diff --git a/retiolum/scripts/adv_graphgen/tinc_stats/Graph.py b/retiolum/scripts/adv_graphgen/tinc_stats/Graph.py new file mode 100644 index 00000000..18c3d545 --- /dev/null +++ b/retiolum/scripts/adv_graphgen/tinc_stats/Graph.py @@ -0,0 +1,231 @@ +#!/usr/bin/python +from BackwardsReader import BackwardsReader +from Graphite import GraphiteSender +import sys,json,os +from Supernodes import check_all_the_super +from Availability import get_node_availability +import sys,json +from time import time +DUMP_FILE = "/krebs/db/availability" + + +def resolve_myself(nodes): + #resolve MYSELF to the real ip + for k,v in nodes.iteritems(): + if v["external-ip"] == "MYSELF": + for nodek,node in nodes.iteritems(): + for to in node['to']: + if to['name'] == k: + v["external-ip"] = to["addr"] + return nodes + +def dump_graph(nodes): + from time import time + graph = {} + graph['nodes'] = nodes + graph['timestamp'] = time() + f = open(DUMP_FILE,'a') + json.dump(graph,f) + f.write('\n') + f.close() + +def generate_availability_stats(nodes): + """ generates stats of from availability + """ + jlines = [] + try: + f = BackwardsReader(DUMP_FILE) + lines_to_use = 1000 + while True: + if lines_to_use == 0: break + line = f.readline() + if not line: break + jline = json.loads(line) + if not jline['nodes']: continue + + jlines.append(jline) + lines_to_use -=1 + except Exception,e: sys.stderr.write(str(e)) + + for k,v in nodes.iteritems(): + v['availability'] = get_node_availability(k,jlines) + sys.stderr.write( "%s -> %f\n" %(k ,v['availability'])) + +def generate_stats(nodes): + """ Generates some statistics of the network and nodes + """ + for k,v in nodes.iteritems(): + conns = v.get('to',[]) + for c in conns: #sanitize weights + if float(c['weight']) > 9000: c['weight'] = str(9001) + elif float(c['weight']) < 0: c['weight'] = str(0) + v['num_conns'] = len(conns) + v['avg_weight'] = get_node_avg_weight(conns) + +def get_node_avg_weight(conns): + """ calculates the average weight for the given connections """ + if not conns: + sys.syderr.write("get_node_avg_weight: connection parameter empty") + return 9001 + else: + return sum([float(c['weight']) for c in conns])/len(conns) + +def delete_unused_nodes(nodes): + """ Deletes all the nodes which are currently not connected to the network""" + new_nodes = {} + for k,v in nodes.iteritems(): + if v['external-ip'] == "(null)": + continue + if v.get('to',[]): + new_nodes[k] = v + for k,v in new_nodes.iteritems(): + if not [ i for i in v['to'] if i['name'] in new_nodes]: + del(k) + return new_nodes + +def merge_edges(nodes): + """ merge back and forth edges into one + DESTRUCTS the current structure by deleting "connections" in the nodes + """ + for k,v in nodes.iteritems(): + for con in v.get('to',[]): + for i,secon in enumerate(nodes.get(con['name'],{}).get('to',[])): + if k == secon['name']: + del (nodes[con['name']]['to'][i]) + con['bidirectional'] = True + + +def print_head(): + print ('digraph retiolum {') + print (' graph [center packMode="clust"]') + print (' node[shape=box,style=filled,fillcolor=grey]') + print (' overlap=false') + +def print_stat_node(nodes): + ''' Write a `stats` node in the corner + This node contains infos about the current number of active nodes and connections inside the network + ''' + from time import localtime,strftime + num_conns = 0 + num_nodes = len(nodes) + try: + msg = '%s.num_nodes %d %d\r\n' %(g_path,num_nodes,begin) + s.send(msg) + except Exception as e: pass + #except: pass + for k,v in nodes.iteritems(): + num_conns+= len(v['to']) + node_text = " stats_node [label=\"Statistics\\l" + node_text += "Build Date : %s\\l" % strftime("%Y-%m-%d %H:%M:%S",localtime()) + node_text += "Active Nodes: %s\\l" % num_nodes + node_text += "Connections : %s\\l" % num_conns + node_text += "\"" + node_text += ",fillcolor=green" + node_text += "]" + print(node_text) + +def print_node(k,v): + """ 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 += "availability: %f\\l" % v['availability'] + if v.has_key('num_conns'): + node += "Num Connects:"+str(v['num_conns'])+"\\l" + node += "external:"+v['external-ip']+":"+v['external-port']+"\\l" + for addr in v.get('internal-ip',['dunno lol']): + node += "internal:%s\\l"%addr + node +="\"" + + if v['num_conns'] == 1: + node += ",fillcolor=red" + elif k in supernodes: + node += ",fillcolor=steelblue1" + node += "]" + print node + +def print_anonymous_node(k,v): + """ writes a single node and its edges + edges are weightet with the informations inside the nodes provided by + tinc + """ + + node = " "+k #+"[label=\"" + print node + +def print_edge(k,v): + for con in v.get('to',[]): + label = con['weight'] + w = int(con['weight']) + weight = str(1000 - (((w - 150) * (1000 - 0)) / (1000 -150 )) + 0) + + length = str(float(w)/1500) + if float(weight) < 0 : + weight= "1" + + edge = " "+k+ " -> " +con['name'] + " [label="+label + " weight="+weight + if con.get('bidirectional',False): + edge += ",dir=both" + edge += "]" + print edge + +def anonymize_nodes(nodes): + #anonymizes all nodes + i = "0" + newnodes = {} + for k,v in nodes.iteritems(): + for nodek,node in nodes.iteritems(): + for to in node['to']: + if to['name'] == k: + to['name'] = i + newnodes[i] = v + i = str(int(i)+1) + return newnodes + +if __name__ == "__main__": + supernodes= [] + try: + gr = GraphiteSender(os.environ.get("GRAPHITE_HOST","localhost")) + begin = time() + except Exception as e: + sys.stderr.write( "Cannot connect to graphite: " + str(e)) + if len(sys.argv) != 2 or sys.argv[1] not in ["anonymous","complete"]: + print("usage: %s (anonymous|complete)") + sys.exit(1) + + nodes = json.load(sys.stdin) + nodes = delete_unused_nodes(nodes) + print_head() + generate_stats(nodes) + merge_edges(nodes) + + + if sys.argv[1] == "anonymous": + nodes = anonymize_nodes(nodes) + + for k,v in nodes.iteritems(): + print_anonymous_node(k,v) + print_edge(k,v) + + elif sys.argv[1] == "complete": + for supernode,addr in check_all_the_super(): + supernodes.append(supernode) + generate_availability_stats(nodes) + for k,v in nodes.iteritems(): + print_node(k,v) + print_edge(k,v) + try: + dump_graph(nodes) + except Exception,e: + sys.stderr.write("Cannot dump graph: %s" % str(e)) + else: + pass + + print_stat_node(nodes) + print ('}') + try: + gr.send("graph.anon_build_time",(time()-begin)*1000) + except Exception as e: pass diff --git a/retiolum/scripts/adv_graphgen/tinc_stats/Graphite.py b/retiolum/scripts/adv_graphgen/tinc_stats/Graphite.py new file mode 100644 index 00000000..5002d8e5 --- /dev/null +++ b/retiolum/scripts/adv_graphgen/tinc_stats/Graphite.py @@ -0,0 +1,24 @@ +#!/usr/bin/python + +import socket +from time import time + +class GraphiteSender: + def __init__(self,host,port=2003,prefix="retiolum"): + self.host = host + self.port = port + self.prefix = prefix + self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.sock.connect((host,port)) + + def send(name,data): + # construct a message for graphite, honor the configured prefix + self.sock.send("%s.%s %d %d\r\n"%(self.prefix,name,data,time())) + + def send_raw(path,data): + #ignore the configured prefix, just it to the path given + self.sock.send("%s %d %d\r\n"%(path,data,time())) + +if __name__ == "__main__": + import sys + GraphiteSender(sys.argv[1]).send_raw(sys.argv[2],sys.argv[3]) diff --git a/retiolum/scripts/adv_graphgen/tinc_stats/Log2JSON.py b/retiolum/scripts/adv_graphgen/tinc_stats/Log2JSON.py new file mode 100755 index 00000000..644cbc63 --- /dev/null +++ b/retiolum/scripts/adv_graphgen/tinc_stats/Log2JSON.py @@ -0,0 +1,166 @@ +#!/usr/bin/python +import subprocess +import os +import re +import sys +import json + + +TINC_NETWORK =os.environ.get("TINC_NETWORK","retiolum") + +# is_legacy is the parameter which defines if the tinc config files are handled old fashioned (parse from syslog), +# or if the new and hip tincctl should be used + + +# Tags and Delimiters +TINC_TAG="tinc.%s" % TINC_NETWORK +BEGIN_NODES = "Nodes:" +END_NODES = "End of nodes." +BEGIN_SUBNET = "Subnet list:" +END_SUBNET = "End of subnet list" +BEGIN_EDGES = "Edges:" +END_EDGES = "End of edges." +def usage(): + from sys import argv,exit + print("""usage: %s +This tool dumps all tinc node informations as json + +ENVIRONMENT VARIABLES: + TINC_NETWORK The tinc network to dump + (default: retiolum) + LOG_FILE If legacy tinc is used, defines the log file where tinc stats are dumped in + (default: /var/log/everything.log) +""" % argv[0]) + exit(1) +def debug(func): + from functools import wraps + @wraps(func) + def with_debug(*args,**kwargs): + print( func.__name__ + " (args: %s | kwargs %s)"% (args,kwargs)) + return func(*args,**kwargs) + return with_debug + + +def get_tinc_log_file(): + # TODO parse logfile from somewhere + return os.environ.get("LOG_FILE","/var/log/everything.log") + + +def parse_tinc_stats(): + import subprocess + from time import sleep + from distutils.spawn import find_executable as which + #newest tinc + if which("tinc"): + return parse_new_input("tinc") + #new tinc + elif which("tincctl"): + return parse_new_input("tincctl") + #old tinc + elif which("tincd"): + # TODO refactor me + subprocess.call(["pkill","-SIGUSR2", "tincd"]) + sleep(1) + return parse_input(get_tinc_block(get_tinc_log_file())) + #no tinc + else: + raise Exception("no tinc executable found!") + +#@debug +def get_tinc_block(log_file): + """ returns an iterateable block from the given log file (syslog) + This function became obsolete with the introduction of tincctl + """ + from BackwardsReader import BackwardsReader + tinc_block = [] + in_block = False + bf = BackwardsReader(log_file) + BOL = re.compile(".*tinc.%s\[[0-9]+\]: " % TINC_NETWORK) + while True: + line = bf.readline() + if not line: + raise Exception("end of file at log file? This should not happen!") + line = BOL.sub('',line).strip() + + if END_SUBNET in line: + in_block = True + + if not in_block: + continue + tinc_block.append(line) + + if BEGIN_NODES in line: + break + return reversed(tinc_block) + +def parse_new_input(tinc_bin): + nodes = {} + pnodes = subprocess.Popen([tinc_bin,"-n",TINC_NETWORK,"dump","reachable","nodes"], stdout=subprocess.PIPE).communicate()[0] + #pnodes = subprocess.check_output(["tincctl","-n",TINC_NETWORK,"dump","reachable","nodes"]) + for line in pnodes.split('\n'): + if not line: continue + l = line.split() + nodes[l[0]]= { 'external-ip': l[2], 'external-port' : l[4] } + psubnets = subprocess.check_output([tinc_bin,"-n",TINC_NETWORK,"dump","subnets"]) + for line in psubnets.split('\n'): + if not line: continue + l = line.split() + try: + if not nodes[l[2]].get('internal-ip',False): + nodes[l[2]]['internal-ip'] = [] + nodes[l[2]]['internal-ip'].append(l[0].split('#')[0]) + except KeyError: + pass # node does not exist (presumably) + pedges = subprocess.check_output([tinc_bin,"-n",TINC_NETWORK,"dump","edges"]) + for line in pedges.split('\n'): + if not line: continue + l = line.split() + try: + if not nodes[l[0]].has_key('to') : + nodes[l[0]]['to'] = [] + nodes[l[0]]['to'].append( + {'name':l[2],'addr':l[4],'port':l[6],'weight' : l[10] }) + except KeyError: + pass #node does not exist + return nodes + +#@debug +def parse_input(log_data): + nodes={} + for line in log_data: + if BEGIN_NODES in line : + nodes={} + for line in log_data: + if END_NODES in line : + break + l = line.replace('\n','').split() #TODO unhack me + nodes[l[0]]= { 'external-ip': l[2], 'external-port' : l[4] } + if BEGIN_SUBNET in line : + for line in log_data: + if END_SUBNET in line : + break + l = line.replace('\n','').split() + if not nodes[l[2]].get('internal-ip',False): + nodes[l[2]]['internal-ip'] = [] + nodes[l[2]]['internal-ip'].append(l[0].split('#')[0]) + if BEGIN_EDGES in line : + edges = {} + for line in log_data: + if END_EDGES in line : + break + l = line.replace('\n','').split() + if not nodes[l[0]].has_key('to') : + nodes[l[0]]['to'] = [] + nodes[l[0]]['to'].append( + {'name':l[2],'addr':l[4],'port':l[6],'weight' : l[10] }) + return nodes + + +if __name__ == '__main__': + # TODO refactor me + from sys import argv + if len(argv) > 1: + usage() + else: + print json.dumps(parse_tinc_stats()) + diff --git a/retiolum/scripts/adv_graphgen/tinc_stats/Supernodes.py b/retiolum/scripts/adv_graphgen/tinc_stats/Supernodes.py new file mode 100644 index 00000000..ae0fae8f --- /dev/null +++ b/retiolum/scripts/adv_graphgen/tinc_stats/Supernodes.py @@ -0,0 +1,59 @@ +#!/usr/bin/python + +def find_potential_super(path="/etc/tinc/retiolum/hosts"): + import os + import re + + needle_addr = re.compile("Address\s*=\s*(.*)") + needle_port = re.compile("Port\s*=\s*(.*)") + for f in os.listdir(path): + with open(path+"/"+f) as of: + addrs = [] + port = "655" + + for line in of.readlines(): + + addr_found = needle_addr.match(line) + if addr_found: + addrs.append(addr_found.group(1)) + + port_found = needle_port.match(line) + if port_found: + port = port_found.group(1) + + if addrs : yield (f ,[(addr ,int(port)) for addr in addrs]) + +def try_connect(addr): + try: + from socket import socket,AF_INET,SOCK_STREAM + s = socket(AF_INET,SOCK_STREAM) + s.settimeout(2) + s.connect(addr) + s.settimeout(None) + s.close() + return addr + except Exception as e: + pass + #return () + +def check_one_super(ha): + host,addrs = ha + valid_addrs = [] + for addr in addrs: + ret = try_connect(addr) + if ret: valid_addrs.append(ret) + if valid_addrs: return (host,valid_addrs) + +def check_all_the_super(path="/etc/tinc/retiolum/hosts"): + from multiprocessing import Pool + p = Pool(20) + return filter(None,p.map(check_one_super,find_potential_super(path))) + + + +if __name__ == "__main__": + """ + usage + """ + for host,addrs in check_all_the_super(): + print host,addrs diff --git a/retiolum/scripts/adv_graphgen/tinc_stats/__init__.py b/retiolum/scripts/adv_graphgen/tinc_stats/__init__.py new file mode 100644 index 00000000..d4a686bf --- /dev/null +++ b/retiolum/scripts/adv_graphgen/tinc_stats/__init__.py @@ -0,0 +1,7 @@ +import Availability +import BackwardsReader +import Log2JSON +import Supernodes +import Geo +import Graph +import Graphite diff --git a/retiolum/scripts/autostart/create-startup.sh b/retiolum/scripts/autostart/create-startup.sh new file mode 100755 index 00000000..37edb972 --- /dev/null +++ b/retiolum/scripts/autostart/create-startup.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +if test "${nosudo-false}" != true -a `id -u` != 0; then + echo "we're going sudo..." >&2 + exec sudo "$0" "$@" + exit 23 # go to hell +fi + +readlink="`readlink -f "$0"`" +dirname="`dirname "$0"`" +cd "$dirname" + +if [ -e /etc/init.d ];then + INIT_FOLDER=/etc/init.d + update-rc.d tinc defaults #TODO debian specific +else + INIT_FOLDER=/etc/rc.d + echo "add tinc to DAEMONS in /etc/rc.conf" #TODO archlinux specific +fi + +echo "retiolum" > /etc/tinc/nets.boot +cp -a tinc $INIT_FOLDER diff --git a/retiolum/scripts/autostart/tinc b/retiolum/scripts/autostart/tinc new file mode 100755 index 00000000..12e77d6a --- /dev/null +++ b/retiolum/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 + diff --git a/retiolum/scripts/github_listener/INSTALL b/retiolum/scripts/github_listener/INSTALL new file mode 100644 index 00000000..20c0845c --- /dev/null +++ b/retiolum/scripts/github_listener/INSTALL @@ -0,0 +1,13 @@ +# HowTo + + useradd -r tinc + mkdir -p /opt/ + git init github_listener + git remote add -f origin https://github.com/krebscode/painload.git + git config core.sparsecheckout true + echo retiolum/hosts/ >> .git/info/sparse-checkout + git pull origin master + ln -s $static_painload/retiolum/{scripts,bin} retiolum/ + cp scripts/github_listener/github_listener.conf /etc/supervisor/conf.d/ + cd .. + chown tinc:tinc -R github_listener diff --git a/retiolum/scripts/github_listener/README b/retiolum/scripts/github_listener/README new file mode 100644 index 00000000..57c30896 --- /dev/null +++ b/retiolum/scripts/github_listener/README @@ -0,0 +1,22 @@ +GITHUB_LISTENER +=============== + +The github listener is an application which listens for github post-receive +hook calls and runs a script each time currently the github listener is +used to create a tarball of all nodes in the retiolum darknet. the current +tarball can be retrieved at http://euer.krebsco.de/retiolum/hosts.tar + +listen script +============= + +the listen script is a quick hack which runs netcat in an e-loop together +with a "logger" command to signalise successful tarball generation. + + +github_listener.conf +=================== +the supervisor config file + +References +========== +also see //retiolum/doc/git_checkout_only_hosts diff --git a/retiolum/scripts/github_listener/github_listener.conf b/retiolum/scripts/github_listener/github_listener.conf new file mode 100644 index 00000000..3ab07a21 --- /dev/null +++ b/retiolum/scripts/github_listener/github_listener.conf @@ -0,0 +1,6 @@ +[program:github_listener] +command=nc -lvv -p 5432 -c "./handle_request /opt/github_listener/retiolum/hosts /var/www/euer.krebsco.de/retiolum/" +user=tinc +directory=/krebs/retiolum/scripts/github_listener/ +autorestart=true +environment=GRAPHITE_HOST=no_omo diff --git a/retiolum/scripts/github_listener/handle_request b/retiolum/scripts/github_listener/handle_request new file mode 100755 index 00000000..211ca776 --- /dev/null +++ b/retiolum/scripts/github_listener/handle_request @@ -0,0 +1,28 @@ +#!/bin/sh +# Possible Shell Vars +# WEBDIR +# HOSTFOLDER + +set -euf +export GRAPHITE_HOST=${GRAPHITE_HOST:-no_omo} +PATH=$PATH:../../../util/bin +if [ "x${2:-}" = x ];then + echo "usage: $0 HOSTDIRECTORY WEBDIRECTORY" + exit 1 +fi +NOW=$(timer) +export HOSTDIR=${1:-../../hosts} +WEBDIR=${2:-/var/www/euer.krebsco.de/retiolum/} +echo "sorry for keeping you waiting, please be patient" + +cd $(dirname $(readlink -f $0)) + +cd "$HOSTDIR" +git pull origin master >&2 +echo "First step done" +cd - >&2 +../../bin/create-supernode-tar $WEBDIR +echo "almost done..." +../../bin/create-host-tar $WEBDIR +echo "Thank you for your patience! I stole $(timer $NOW)ms of your time, sorry about that." +graphitec 'retiolum.pack.build_time' $(timer $NOW) diff --git a/retiolum/scripts/routing/defaultroute.sh b/retiolum/scripts/routing/defaultroute.sh new file mode 100755 index 00000000..d54e8bcf --- /dev/null +++ b/retiolum/scripts/routing/defaultroute.sh @@ -0,0 +1,38 @@ +#!/bin/bash +usage() +{ + echo "usage:" + echo "-h, print this help youre currently reading" + echo "-a activate routing" + echo "-d deactivate routing" +} + +defaultroute=$(ip route show | grep default | awk '{ print $3 }') +tincdir="/etc/tinc/retiolum" + +if [[ $(id -u) -gt 0 ]]; then + echo "This script should be run as root." + exit 1 +fi + +case "$1" in + -h|-help) + usage + exit 0;; + -a) + command="add" + ;; + -d) + command="del" + ;; + -*|*) + usage + exit 1;; +esac + +cat $tincdir/tinc.conf | grep ConnectTo | cut -b 13- | +while read host +do + addr=$(cat $tincdir/hosts/$host | grep Address | cut -b 11-) + route $command $addr gw $defaultroute && echo $command $addr via $defaultroute +done diff --git a/retiolum/scripts/tinc_setup/README b/retiolum/scripts/tinc_setup/README new file mode 100644 index 00000000..11d6f6e9 --- /dev/null +++ b/retiolum/scripts/tinc_setup/README @@ -0,0 +1,18 @@ +This directory contains the build and install scripts for shack-retiolum + +1. build_arch + arch linux build script +2. build_debian + debian build script +3. build_debian_clean + debian script which builds a clean tinc daemon +4. build_ec2 + Amazon ec2 base instance build script +5. install.sh + configures the tinc daemon + $1 is the nickname + $2 is the ip-address + also writes a python file inside the tinc/retiolum folder which posts + the public key into the IRC:freenode/#tincspasm +6. build_no.de + nonfunct no.de smartmachine build script diff --git a/retiolum/scripts/tinc_setup/autoupdate_cron.sh b/retiolum/scripts/tinc_setup/autoupdate_cron.sh new file mode 100644 index 00000000..d5d41aaf --- /dev/null +++ b/retiolum/scripts/tinc_setup/autoupdate_cron.sh @@ -0,0 +1,7 @@ +cat <<EOF +# Add these lines to your crontab: + +12 23 * * * /home/node/usr/sbin/tincd -n retiolum &>/dev/null +12 23 * * * cd /home/node/etc/tinc/retiolum/hosts/ && /opt/local/bin/git pull && pkill -HUP tincd +EOF + diff --git a/retiolum/scripts/tinc_setup/build_arch.sh b/retiolum/scripts/tinc_setup/build_arch.sh new file mode 100755 index 00000000..5ef5d765 --- /dev/null +++ b/retiolum/scripts/tinc_setup/build_arch.sh @@ -0,0 +1,14 @@ +#!/bin/sh +set -e +sudo pacman -S openssl gcc lzo +curl http://www.tinc-vpn.org/packages/tinc-1.0.13.tar.gz | tar xz +cd tinc-1.0.13 +./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var +make +sudo make install +cd .. + +echo "overwriting python to python2" +sed 's/\/usr\/bin\/python/\/usr\/bin\/python2/g' install.sh >install2.sh +mv install2.sh install.sh + diff --git a/retiolum/scripts/tinc_setup/build_debian.sh b/retiolum/scripts/tinc_setup/build_debian.sh new file mode 100755 index 00000000..52e61390 --- /dev/null +++ b/retiolum/scripts/tinc_setup/build_debian.sh @@ -0,0 +1,32 @@ +#!/bin/bash +set -x +if [ ! "$MYIP" ] +then + MYIP=10.0.7.7.55 +fi +if [ ! "$MYHOSTNAME" ] +then + MYHOSTNAME="penis" +fi + +if [ "$MYHOSTNAME" = "penis" ]; +then + read -n1 -p "name is penis, are u sure? [yN]" + if [[ "$REPLY" != [yY] ]] + then + echo "then better RTFC" + echo "bailing out" + exit 0 + fi +fi +apt-get install tinc git curl python + +./install.sh "$MYHOSTNAME" "$MYIP" + +# for autostart +sed -i '/retiolum/d' /etc/tinc/nets.boot +echo "retiolum" >> /etc/tinc/nets.boot +sed -i '/EXTRA/d' /etc/tinc/nets.boot +echo "EXTRA=\"\"" >> /etc/default/tinc + +/etc/init.d/tinc start diff --git a/retiolum/scripts/tinc_setup/build_debian_clean.sh b/retiolum/scripts/tinc_setup/build_debian_clean.sh new file mode 100755 index 00000000..a7332f4e --- /dev/null +++ b/retiolum/scripts/tinc_setup/build_debian_clean.sh @@ -0,0 +1,31 @@ +#!/bin/bash +set -xe +MYIP=10.0.7.7.55 + +apt-get install tinc git curl gcc gcc-dev build-essential libssl-dev python + +git clone https://github.com/makefu/shack-retiolum.git + +mkdir build +cd build +curl http://www.oberhumer.com/opensource/lzo/download/lzo-2.04.tar.gz | tar +xz +cd lzo-2.04 +./configure --prefix=/usr +make +sudo make install +cd .. +curl http://www.tinc-vpn.org/packages/tinc-1.0.13.tar.gz | tar xz +cd tinc-1.0.13 +./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var +make +sudo make install +cd ../.. + +cd shack-retiolum +./install.sh `hostname` $MYIP + +rm shack-retiolum +# for autostart +echo "retiolum" >> /etc/tinc/nets.boot +echo "EXTRA=\"--user=tincd --chroot\"" >> /etc/default/tinc diff --git a/retiolum/scripts/tinc_setup/build_ec2.sh b/retiolum/scripts/tinc_setup/build_ec2.sh new file mode 100755 index 00000000..79f2af28 --- /dev/null +++ b/retiolum/scripts/tinc_setup/build_ec2.sh @@ -0,0 +1,16 @@ +#!/bin/sh +set -e +sudo yum install -y gcc openssl-devel +mkdir build +cd build +curl http://www.oberhumer.com/opensource/lzo/download/lzo-2.04.tar.gz | tar xz +cd lzo-2.04 +./configure --prefix=/usr +make +sudo make install +cd .. +curl http://www.tinc-vpn.org/packages/tinc-1.0.13.tar.gz | tar xz +cd tinc-1.0.13 +./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var +make +sudo make install diff --git a/retiolum/scripts/tinc_setup/build_no.de.sh b/retiolum/scripts/tinc_setup/build_no.de.sh new file mode 100644 index 00000000..2976d3a2 --- /dev/null +++ b/retiolum/scripts/tinc_setup/build_no.de.sh @@ -0,0 +1 @@ +pkgin in lzo gcc-tools gcc-compiler gcc34 diff --git a/retiolum/scripts/tinc_setup/install.sh b/retiolum/scripts/tinc_setup/install.sh new file mode 100755 index 00000000..9efe863c --- /dev/null +++ b/retiolum/scripts/tinc_setup/install.sh @@ -0,0 +1,84 @@ +#! /bin/sh +# USE WITH GREAT CAUTION +set -eu + +if test "${nosudo-false}" != true -a `id -u` != 0; then + echo "we're going sudo..." >&2 + exec sudo "$0" "$@" + exit 23 # go to hell +fi + +#make -C ../../ update +set -e +DIRNAME=`dirname $0` +CURR=`readlink -f ${DIRNAME}` +MYBIN=${CURR}/../../bin +netname=retiolum +# create configuration directory for $netname +mkdir -p /etc/tinc/$netname/hosts +cd /etc/tinc/$netname + +echo "added known hosts:" +ls -1 hosts | LC_ALL=C sort +echo "delete the nodes you do not trust!" + +hostname="${HOSTNAME-`cat /etc/hostname`}" +myname="${1:-}" +if [ ! "$myname" ] +then + printf "select node name [$hostname]: " + read myname + if test -z "$myname"; then + myname="$hostname" + fi +fi +if [ ! -e "hosts/$myname" ] +then + + # TODO eloop until we found a free IPv4 + # myipv4=$(echo 42.$(for i in `seq 1 3`; do echo "ibase=16;`bin/fillxx xx|tr [a-f] [A-F]`" | bc; done)|tr \ .)/32 + + myipv4="${2:-}" + mynet4=10.243.0.0 + + if [ ! "$myipv4" ] + then + printf 'select v4 subnet ip (1-255): ' + read v4num + until $MYBIN/check-free-retiolum-v4 10.243.0.$v4num; do + echo "your're an idiot!" + printf 'select unused v4 subnet ip (1-255): ' + read v4num + done + myipv4="10.243.0.$v4num" + fi + echo "Subnet = $myipv4" > hosts/$myname + + myipv6=`$MYBIN/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 + +cat>tinc.conf<<EOF +Name = $myname +ConnectTo = euer +ConnectTo = albi10 +ConnectTo = pigstarter +ConnectTo = slowpoke +Device = /dev/net/tun +EOF + +if [ ! -e rsa_key.priv ] +then + echo "creating new keys" + tincd -n $netname -K + $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" + echo "if you know what you are doing, remove rsa_key.priv" +fi +# add user tincd +# this is what the setup scripts for the distribution has to do +#useradd tincd diff --git a/retiolum/scripts/tinc_setup/new_install.sh b/retiolum/scripts/tinc_setup/new_install.sh new file mode 100755 index 00000000..76ed9e70 --- /dev/null +++ b/retiolum/scripts/tinc_setup/new_install.sh @@ -0,0 +1,358 @@ +#!/bin/sh + +#get sudo +if test "${nosudo-false}" != true -a `id -u` != 0; then + echo "we're going sudo..." >&2 + exec sudo -E "$0" "$@" + exit 23 # go to hell +fi +set -euf +# +SUBNET4=${SUBNET4:-10.243} +SUBNET6=${SUBNET6:-42} +TEMPDIR=${TEMPDIR:-auto} +TINCDIR=${TINCDIR:-auto} +exists() { type "$1" >/dev/null 2>/dev/null; } + +if exists hostname ;then SYSHOSTN=${HOSTNAME:-$(hostname)} +elif exists uci ;then SYSHOSTN=$(uci get system.@system[0].hostname) +elif [ -e /etc/hostname ] ;then SYSHOSTN=$(cat /etc/hostname) +else SYSHOSTN="unknown" +fi + +#overwrite `found` hostname +HOSTN=${HOSTN:-$SYSHOSTN} +NETNAME=${NETNAME:-retiolum} +MASK4=${MASK4:-16} +MASK6=${MASK6:-16} +RMASK=${RMASK:-255.255.0.0} +URL=${URL:-http://euer.krebsco.de/retiolum/hosts.tar.gz} +SURL=${SURL:-http://euer.krebsco.de/retiolum/supernodes.tar.gz} + +IRCCHANNEL=${IRCCHANNEL:-"#krebs_incoming"} +IRCSERVER=${IRCSERVER:-"irc.freenode.net"} +IRCPORT=${IRCPORT:-6667} + +OS=${OS:-0} +TELNET=${TELNET:-} + +IP4=${IP4:-0} +IP6=${IP6:-0} + +RAND4=1 +RAND6=1 + +#convert hostmask to subnetmask only version 4 +host2subnet() +{ + NEEDDOTSINSUB=$(expr 3 - $( echo $SUBNET4 | tr -C -d . | wc -c)) + case $NEEDDOTSINSUB in + 3) FULLSUBNET=$SUBNET4.0.0.0 ;; + 2) FULLSUBNET=$SUBNET4.0.0 ;; + 1) FULLSUBNET=$SUBNET4.0 ;; + 0) FULLSUBNET=$SUBNET4 ;; + *) echo "cannot read subnet" && exit 1;; + esac +} + +#check if ip is valid ipv4 function +check_ip_valid4() +{ + if [ "$(echo $1 | awk -F"\." ' $0 ~ /^([0-9]{1,3}\.){3}[0-9]{1,3}$/ && $1 <=255 && $2 <= 255 && $3 <= 255 && $4 <= 255 ' 2>/dev/null)" == "$1" ] && [ ${1:0:${#SUBNET4}} == $SUBNET4 ] + then + return 0 + else + return 1 + fi +} + +#check if ip is valid ipv6 function +check_ip_valid6() +{ + if [ "$(echo $1 | awk -F"." ' $0 ~ /^([0-9a-fA-F]{1,4}\:){7}[0-9a-fA-F]{1,4}$/' 2>/dev/null)" == $1 ] && [ ${1:0:${#SUBNET6}} == $SUBNET6 ] + then + return 0 + else + return 1 + fi +} + +#check if ip is taken function +check_ip_taken() +{ + if grep -q -r -E "$1(#|/)" $TEMPDIR/hosts/ ;then + return 1 + else + return 0 + fi +} + +#if hostname is taken, count upwards until it isn't taken function +get_hostname() +{ + TSTFILE=$TEMPDIR/hosts/$1 + LCOUNTER=0 + if test -e $TSTFILE; then + while test -e $TSTFILE; do + : $((LCOUNTER+=1)) + TSTFILE=$TEMPDIR/hosts/$1$LCOUNTER + done + HOSTN=$1$LCOUNTER + else + HOSTN=$1 + fi +} + +#os autodetection +find_os() +{ + if grep -qe 'Linux' /etc/*release 2>/dev/null || grep -qe 'Linux' /etc/issue 2>/dev/null; then + OS='linux' + elif exists getprop ; then + OS='android' + elif test -e /etc/openwrt_release; then + OS='openwrt' + elif uname -s | grep -qi 'darwin'; then + OS='osx' + else + echo "Cannot determine your operating system, falling back to Linux" + OS='linux' + fi +} + +find_telnet(){ + if exists telnet >/dev/null;then + TELNET="`command -v telnet`" + elif exists busybox >/dev/null;then + TELNET="`command -v busybox` telnet" + else + echo "cannot find telnet binary, please install either telnet-client or busybox" + echo "bailing out!" + exit 1 + fi +} + +if [ $IP4 -eq 0 ]; then + RAND4=1 +elif ! check_ip_valid4 $IP4; then + echo 'ip4 is invalid' + exit 1 +fi +if [ $IP6 -eq 0 ]; then + RAND6=1 +elif ! check_ip_valid6 $IP6; then + echo 'ip6 is invalid' + exit 1 +fi + +#find OS +if [ $OS -eq 0 ]; then + find_os +fi +if [ -z "$TELNET" ]; then + find_telnet +fi +#check if everything is installed +if ! exists awk ; then + echo "Please install awk" + exit 1 +fi + +if ! exists curl ; then + if ! exists wget ; then + echo "Please install curl or wget" + exit 1 + else + LOADER='wget -O-' + HEAD_LOADER="$LOADER --spider" + fi +else + LOADER=curl + HEAD_LOADER="$LOADER -I" +fi + +if ! $HEAD_LOADER $SURL >/dev/null 2>/dev/null ;then + echo "Cannot find supernode package, check if your internet is working" + exit 1 +fi + +#check if everything is installed +if [ $OS = 'android' ]; then + if ! test -e /data/data/org.poirsouille.tinc_gui/files/tincd; then + echo "Please install tinc-gui" + exit 1 + else + TINCBIN=/data/data/org.poirsouille.tinc_gui/files/tincd + DEV="/dev/tun" + if [ $TINCDIR = 'auto' ]; then TINCDIR="/usr/local/etc/tinc" ;fi + if [ $TEMPDIR = 'auto' ]; then TEMPDIR="/storage/sdcard0/tinc-fu" ;fi + mount -o remount,rw / + mount -o remount,rw /system + fi +elif [ $OS = 'osx' ]; then + if ! exists tincd >/dev/null; then + echo "Please install tinc" + exit 1 + else + TINCBIN=tincd + DEV="/dev/net/tun" + if [ $TINCDIR = 'auto' ]; then TINCDIR="/usr/local/etc/tinc" ;fi + if [ $TEMPDIR = 'auto' ]; then TEMPDIR="/tmp/tinc-install-fu" ;fi + fi +else + if ! exists tincd >/dev/null; then + echo "Please install tinc" + exit 1 + else + TINCBIN=tincd + DEV="/dev/net/tun" + if [ $TINCDIR = 'auto' ]; then TINCDIR="/etc/tinc" ;fi + if [ $TEMPDIR = 'auto' ]; then TEMPDIR="/tmp/tinc-install-fu" ;fi + fi +fi + +#generate full subnet information for v4 + +#test if tinc directory already exists +if test -e $TINCDIR/$NETNAME; then + echo "tinc config directory $TINCDIR/$NETNAME does already exist. (backup and) delete config directory and restart" + exit 1 +fi + +#get tinc-hostfiles +mkdir -p $TEMPDIR/hosts +$LOADER $URL | tar zx -C $TEMPDIR/hosts/ + +#check for free ip +#version 4 +until check_ip_taken $IP4; do + if [ $RAND4 -eq 1 ]; then + IP4="$SUBNET4.$(( $(head /dev/urandom | tr -dc "123456789" | head -c3) %255)).$(( $(head /dev/urandom | tr -dc "123456789" | head -c3) %255))" + else + printf 'choose new ip: ' + read IP4 + while ! check_ip_valid4 $IP4; do + printf 'the ip is invalid, retard, choose a valid ip: ' + read IP4 + done + fi +done + +#version 6 +until check_ip_taken $IP6; do + if [ $RAND6 -eq 1 ]; then + NETLENGTH=$(expr $(expr 128 - $MASK6) / 4) + IP6="$SUBNET6$(head /dev/urandom | tr -dc "0123456789abcdef" | head -c$NETLENGTH | sed 's/..../:&/g')" #todo: generate ip length from hostmask + else + printf 'ip taken, choose new ip: ' + + read IP6 + while ! check_ip_valid6 $IP6; do + printf 'the ip is invalid, retard, choose a valid ip: ' + read IP6 + done + fi +done + + +#check for free hostname +get_hostname $HOSTN + + +#create the configs +mkdir -p $TINCDIR/$NETNAME +cd $TINCDIR/$NETNAME + +if [ $OS = 'openwrt' ]; then + mkdir hosts + $LOADER $SURL | tar xz -C hosts/ +else + mv $TEMPDIR/hosts ./ +fi + +rm -r $TEMPDIR || echo "$TEMPDIR does not exist, skipping removal" + +echo "Subnet = $IP4" > hosts/$HOSTN +echo "Subnet = $IP6" >> hosts/$HOSTN + +cat>tinc.conf<<EOF +Name = $HOSTN +Device = $DEV + +#newer tinc features +LocalDiscovery = yes +AutoConnect = 3 + +#ConnectTos +ConnectTo = slowpoke +ConnectTo = pigstarter +ConnectTo = pico +EOF + +host2subnet $MASK4 + +#check if ip is installed +if exists ip >/dev/null; then + echo 'dirname="`dirname "$0"`"' > tinc-up + echo '' >> tinc-up + echo 'conf=$dirname/tinc.conf' >> tinc-up + echo '' >> tinc-up + echo 'name=$(sed -n "s|^ *Name *= *\([^ ]*\) *$|\\1|p" $conf)' >> tinc-up + echo '' >> tinc-up + echo 'host=$dirname/hosts/$name' >> tinc-up + echo '' >> tinc-up + echo 'ip link set $INTERFACE up' >> tinc-up + echo '' >> tinc-up + echo "addr4=\$(sed -n \"s|^ *Subnet *= *\\($SUBNET4[.][^ ]*\\) *\$|\\\\1|p\" \$host)" >> tinc-up + echo 'ip -4 addr add $addr4 dev $INTERFACE' >> tinc-up + echo "ip -4 route add $FULLSUBNET/$MASK4 dev \$INTERFACE" >> tinc-up + echo '' >> tinc-up + echo "addr6=\$(sed -n \"s|^ *Subnet *= *\\($SUBNET6[:][^ ]*\\) *\$|\\\\1|p\" \$host)" >> tinc-up + echo 'ip -6 addr add $addr6 dev $INTERFACE' >> tinc-up + echo "ip -6 route add $SUBNET6::/$MASK6 dev \$INTERFACE" >> tinc-up +else + echo 'dirname="`dirname "$0"`"' > tinc-up + echo '' >> tinc-up + echo 'conf=$dirname/tinc.conf' >> tinc-up + echo '' >> tinc-up + echo 'name=$(sed -n "s|^ *Name *= *\([^ ]*\) *$|\\1|p" $conf)' >> tinc-up + echo '' >> tinc-up + echo 'host=$dirname/hosts/$name' >> tinc-up + echo '' >> tinc-up + echo "addr4=\$(sed -n \"s|^ *Subnet *= *\\($SUBNET4[.][^ ]*\\) *$|\\\\1|p\" \$host)" >> tinc-up + echo 'ifconfig $INTERFACE $addr4' >> tinc-up + echo "route add -net $FULLSUBNET netmask $RMASK dev \$INTERFACE " >> tinc-up +fi + +#fix permissions +chmod +x tinc-up +chown -R 0:0 . + +#generate keys with tinc +if exists tincctl ; then + yes | tincctl -n $NETNAME generate-keys + cat rsa_key.pub >> hosts/$HOSTN +else + yes | $TINCBIN -n $NETNAME -K +fi + +if [ $OS = 'android' ]; then + mkdir /etc/tinc + cd / + mv $TINCDIR/$NETNAME /etc/tinc/ + cd /etc/tinc/$NETNAME +fi +#write to irc-channel +NICK="${HOSTN}_$(head /dev/urandom | tr -dc "0123456789" | head -c3)" + +( echo "NICK $NICK"; + echo "USER $NICK $IRCSERVER bla : $NICK"; + echo "JOIN $IRCCHANNEL"; + sleep 23; + echo "PRIVMSG $IRCCHANNEL : This is $HOSTN"; + sed "s/^\(.*\)/PRIVMSG $IRCCHANNEL : \1/" hosts/$HOSTN; + sleep 5; ) | $TELNET $IRCSERVER $IRCPORT + + +# finish what you have begun! +tincd -n $NETNAME diff --git a/retiolum/scripts/tinc_setup/tinc-up b/retiolum/scripts/tinc_setup/tinc-up new file mode 100755 index 00000000..a829528d --- /dev/null +++ b/retiolum/scripts/tinc_setup/tinc-up @@ -0,0 +1,25 @@ +# source: krebscode/painload/retiolum/scripts/tinc_setup/tinc-up + +dirname="`dirname "$0"`" + +conf=$dirname/tinc.conf + +name=`sed -n 's|^ *Name *= *\([^ ]*\) *$|\1|p' $conf` + +host=$dirname/hosts/$name + +ip link set $INTERFACE up + +addr4=`sed -n 's|^ *Subnet *= *\(10[.][^ ]*\) *$|\1|p' $host` +if [ "$addr4" != '' ];then + ip -4 addr add $addr4 dev $INTERFACE + ip -4 route add 10.243.0.0/16 dev $INTERFACE +else + addr4=`sed -n 's|^ *Subnet *= *\(42[.][^ ]*\) *$|\1|p' $host` + ip -4 addr add $addr4 dev $INTERFACE + ip -4 route add 42.0.0.0/16 dev $INTERFACE +fi + +addr6=`sed -n 's|^ *Subnet *= *\(42[:][^ ]*\) *$|\1|p' $host` +ip -6 addr add $addr6 dev $INTERFACE +ip -6 route add 42::/16 dev $INTERFACE |
