diff options
Diffstat (limited to 'retiolum')
84 files changed, 1399 insertions, 170 deletions
diff --git a/retiolum/Makefile b/retiolum/Makefile index 0d99ee70..cd0a543c 100644 --- a/retiolum/Makefile +++ b/retiolum/Makefile @@ -1,15 +1,29 @@ -.phony: update it all so install +.PHONY: update all install hosts -all: select-target +EXES := update_tinc_hosts fillxx update-retiolum-hosts -it: so -so: it +all: update links -/etc/tinc/retiolum/hosts: - cd $(dir $@) && git clone https://github.com/krebscode/hosts +links: + for x in $(EXES); do ln -vsnf ../retiolum/bin/$$x ../bin; done -update: /etc/tinc/retiolum/hosts - cd $< && git pull -install: +install: upgrade + ../punani/bin/punani tinc python scripts/tinc_setup/install.sh + cp scripts/tinc_setup/tinc-up /etc/tinc/retiolum/tinc-up + scripts/autostart/create-startup.sh + +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" || true + bin/update_tinc_hosts restart + sudo pkill -HUP tincd || :; + +hosts: + bin/update-retiolum-hosts || true diff --git a/retiolum/bin/check-free-retiolum-v4 b/retiolum/bin/check-free-retiolum-v4 new file mode 100755 index 00000000..3f0dbdf8 --- /dev/null +++ b/retiolum/bin/check-free-retiolum-v4 @@ -0,0 +1,21 @@ +#! /bin/sh +netname=retiolum +myipv4=${1-10.7.7.-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/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 index 6939f52c..4856d494 100755 --- a/retiolum/bin/hosts +++ b/retiolum/bin/hosts @@ -6,6 +6,8 @@ netname=${1-retiolum} cd /etc/tinc/$netname/hosts for i in `ls`; do - sed -rn 's|^ *Subnet *= *([^ /]*)(/[0-9]*)? *$|\1\t'$i' '$i'.'$netname'|p' $i + sed -n ' + s|^ *Subnet *= *\([^ /]*\)\(/[0-9]*\)\? *$|\1\t'$i'.'$netname' '$i'|p + ' $i done | sort diff --git a/retiolum/bin/ipv6 b/retiolum/bin/ipv6 index 65a1eaa1..34c6de71 100755 --- a/retiolum/bin/ipv6 +++ b/retiolum/bin/ipv6 @@ -13,7 +13,7 @@ if test `id -u` != 0; then fi file=/etc/tinc/retiolum/hosts/`hostname` -addr=`sed -rn 's|^Subnet *= *(42:[0-9A-Fa-f:]*/128)|\1|p' $file` +addr=`sed -n 's|^Subnet *= *\(42:[0-9A-Fa-f:]*/128\)|\1|p' $file` route=42::/16 start() { diff --git a/retiolum/bin/my-ip b/retiolum/bin/my-ip new file mode 100755 index 00000000..fcfbba05 --- /dev/null +++ b/retiolum/bin/my-ip @@ -0,0 +1,2 @@ +#!/bin/sh +curl http://euer.krebsco.de/live/ip.php 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_stats b/retiolum/bin/tinc_stats new file mode 120000 index 00000000..6a58af60 --- /dev/null +++ b/retiolum/bin/tinc_stats @@ -0,0 +1 @@ +/home/makefu/repos/krebs/retiolum/scripts/adv_graphgen/tinc_stats.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..1fecfe15 --- /dev/null +++ b/retiolum/bin/update-retiolum-hosts @@ -0,0 +1,16 @@ +#! /bin/sh +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 + +# cd //retiolum +cd $(dirname $(readlink -f $0))/.. + +mkdir -v -p /etc/tinc/retiolum/hosts +cp -v -r hosts/* /etc/tinc/retiolum/hosts +pkill -HUP tincd +pkill -ALRM tincd diff --git a/retiolum/bin/update_tinc_hosts b/retiolum/bin/update_tinc_hosts index fe0785e3..b3529a7f 100755 --- a/retiolum/bin/update_tinc_hosts +++ b/retiolum/bin/update_tinc_hosts @@ -17,7 +17,7 @@ es='# END OF RETIOLUM' case "${*-I am made of stupid}" in (start|restart) - hosts | $0 replace magic + hosts | grep -P "^(10|42)" | $0 replace magic ;; (stop) $0 clear magic @@ -29,9 +29,13 @@ case "${*-I am made of stupid}" in ;; ('create magic') $0 has magic || $0 print magic >> $hosts < /dev/null + $0 start ;; ('destroy magic') - $0 has magic && sed -ie "/^$bs$/,/^$es$/d" $hosts + 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 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/Lassulus b/retiolum/hosts/Lassulus new file mode 100644 index 00000000..98bd01e0 --- /dev/null +++ b/retiolum/hosts/Lassulus @@ -0,0 +1,11 @@ +Subnet = 42:0:0:0:0:0:0:dea7/128 +Subnet = 10.243.0.2/32 +Compression = 9 +-----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/Shepherd b/retiolum/hosts/Shepherd new file mode 100644 index 00000000..4b6c5f42 --- /dev/null +++ b/retiolum/hosts/Shepherd @@ -0,0 +1,10 @@ +Subnet = 10.243.0.145/32 +Subnet = 42:0f19:8a1e:7865:721b:2378:beef:1158/128 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAsW0Pbgvl+hATKqQR6H4yPg1kphMsxrXvh/CMQY8dXVVD2mDWBHaL +Y/yXCanDxyYRGu80SVwdIUWQIwjGD0SiESRGqABl2qPsD1uIbbqI5SlSwzb8UrJk ++oCszLxZrhD14HWTjAduQ5GcBNZ8Ht133rR07s+XRAYcKJOMauod3yD3g3IfZw6L +/MAQ8GSptSa+JPm5Kk1/QBZi8oH0aIseaVH9b6l8+P27LwxdwJG+S/82iKOUvszw +qocqNbKJ0iySs3ZPZTDpKa/MPAN9H/m/OqM66w6IG4iwIttqix5mET+kM2TUaH29 +tApWA1ChYy61aKBykdcT+IbJHl/0unOU6QIDAQAB +-----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/TodesBrot b/retiolum/hosts/TodesBrot new file mode 100644 index 00000000..f76b72b2 --- /dev/null +++ b/retiolum/hosts/TodesBrot @@ -0,0 +1,9 @@ +Subnet = 10.243.0.12/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAzGIijXaoIRG09v5sIXyVdqdpDruPMqKJfvZUXCF/POMCZEsZ4tjd +jHHdbTfREExvSNBUxS6GaYwg/HR2R7nprzOazSN9kzp9fmFJofbCOxz6X/8O/fMM +gTBmZzYu4cfysjTD5tsrJp/dQOZ0wKpUXBOWWWDUTLM9Zo3+6Bxe/6pN+gphvl6m +ReIAwl34QkZ24mq1W4YZofU2PxLxnhtuBgXuJRfn8FDlgKKPhPpKX070J5pamzpp +1/Idxl0zTmoKeXWhJ0wY0SNeglaWgH1P2EeNUNoVEX4Egk4XQGkzOfShRG7zoJMA +tKJlNZOw/4EF3E/IM8mG1yG3NqtFlIyNYQIDAQAB +-----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..26ee10f2 --- /dev/null +++ b/retiolum/hosts/ach @@ -0,0 +1,10 @@ +Subnet = 42:c50f:d371:cf01:8cf0:0b77:bb01:5013/128 +Subnet = 42.135.28.73/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA2d5RaWiFmkuw0UhPsQCrFBNNgBwzHQMDO69rU6XlH8VSGI8HTPuI +v5Jjyhrf2p/ktLAnafBUHO32bNRu/9lbM0rjPZna5t1MjJpUaja6yF5TzdAQ4YMD +KTkGqjI9QEuGBPixFNRq+P9QK5FLx1/wtF0ZE1CYS+A6iwQ9S+IPCIYYswUmhYQF +ik2IaixG6EkZj2NSJqvDF4HDJz8lnwQIQfFqZ8WdP2MtMUng09PdjQHss0jqRbPO +4J7UpDkrXSABjDnEYk4CKH0YhLGPB3VDYeD4rQjKuDTYOWXQ8OYIyPVucKe2RABc +dJF6MQ+z+2m1vMqEYPBOH69Ggncq9GQ4xwIDAQAB +-----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..e7265e67 --- /dev/null +++ b/retiolum/hosts/alphalabs @@ -0,0 +1,12 @@ +Address = 10.9.0.10 +Subnet = 42:0:0:0:0:0:0:a1fa/128 +Subnet = 10.243.0.10/32 +Compression = 9 +-----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/also b/retiolum/hosts/also new file mode 100644 index 00000000..59a251a7 --- /dev/null +++ b/retiolum/hosts/also @@ -0,0 +1,12 @@ +Subnet = 42:9c90:a590:e88a:52cf:126f:b710:1a9c/128 +Subnet = 23.42.0.1/16 +Subnet = 10.243.0.50/32 +Compression = 9 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAsnF1eyd/R4qXMGo8UEZ98hnJK+6ZEKUubgdzEwAuSxK40B6nX8Ry +Euy3v3s0ps/GMdE52gUbFB+bhM99hHiKW+7zcxnoMJ69a9yK6VG0Im+7ib0WTliZ +llgUfRETQd/2KaIfJWH/nVsBuK0hp1LscroWcoO08BCw6v94q3He8502Bk/ZYZQF +wD7Y6LldipWKo/K9YtIU3zD3taj2NGnetOc0BRRncSgGiicXJKhtfcs+Ti2Y/ITz +bFkHnFgB0KnhjwJBumxdmgjHWknlwVkROvmzIgyoXxqEw31bF+g/XzA7RTMXsiFM +w0SZ15k4HG5L1PWpUyY2Th5yIjMW+sSrhQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/armageddon421_de b/retiolum/hosts/armageddon421_de new file mode 100644 index 00000000..13a2c946 --- /dev/null +++ b/retiolum/hosts/armageddon421_de @@ -0,0 +1,11 @@ +Address = armageddon421.de +Port = 1655 +Subnet = 42.233.216.106/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAqBfXS402JOadodsFB4a/aX/eBkuQxPHjEPpW7QBueEPbCHBAyPnT +GzpC9tJSfkaUfI5pL+kE5vCXqVuLErlJtESENI0FvtfFGHm/KxRwX6QEAiZZT0d0 +C331udvRwqDrjY3HVMcQo7ppcaRHTGNldIATZVVLvm8V8zJ28L/FIioGysNYFuLb +8V5ZVTFpXwUfeJOAbmz0CHB/hiQliP0CR/Y7sZ0dX9/DAg13z2iZc2HA65N1AqZc +L6knsC7DnzjY48d5BhbZXqcCybecx3s4igLuDZjoyHOyAtbR1QueDF/CRVnYsqSs +YItynNjtN9TEEvCG1klvCV7hyM8t2ecpwQIDAQAB +-----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/chinaman b/retiolum/hosts/chinaman new file mode 100644 index 00000000..22f64b02 --- /dev/null +++ b/retiolum/hosts/chinaman @@ -0,0 +1,10 @@ +Subnet = 42:5a1d:f491:9e47:c4cd:175f:bd87:6da5/128 +Subnet = 42.207.40.226/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAwQWG4shbMq2Y2s2GH05DSR9God0ppslCgXLpM8I+L+khpF8JL83z +KdevKDl0mA4iVnSgqWKVUDCK5IN29wQAlPDiNvBir98vxTeuckvdeTZat0rr0O7t +o4MBMfZ0yXBxruu2/TjCyAkE/VN3h7tfzBh9HUQyVFWjaEhh8v2kOmGLt1UT3hKr +KdFFtCvbIAeHa6axiQvX0kmVZY8n2XK/1pPHSuxkKWUvum1jMplIQ6NewjeTbaan +6hNFcMFwbB333Wan1EKP3D7N/oniGspoyLXdO4Q/AXmfwMJvHdLZri4uLFMdOB/e +n2jo/GTcm7kzUW/IibqyeBvJ6xuTaQXb7QIDAQAB +-----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/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..8a38150f --- /dev/null +++ b/retiolum/hosts/euer @@ -0,0 +1,11 @@ +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..523ff7ff --- /dev/null +++ b/retiolum/hosts/filebitch @@ -0,0 +1,10 @@ +Subnet = 42:0356:a364:cc79:4c96:2c7c:13fc:0c5b/128 +Subnet = 10.143.131.98/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAoqTUa54dkplzU6IqWdvCiGM8FLpZ6X6AmgGgl5r9RZ+Af08iy4Js +FPdco+1Lj5OthXJnd5Xx8cO5qQx5CRzUN59ec8o0jxQOBZ5EpuN42RLMmQNBJWm7 +moVpEDuPQTHQrlyvsYwXOx1+T4rvSnG7hldiHoCL4XVn8FpZLPMXL5alGHSuNuYq +dG++5LtPpmRLOg0Pwlk3nVfJpKKn4u2FVmhmxe9CdV9c5B5Ze0nVH6sekaG0gXzX +ktoJG83/yc2XYhn+rel4kvLFyP/XqdAxsO6v7mpmQVNgsppqm2A9unDacTfOG//z +2O+/dHkkW7ukOfk2Tr6z/CSDDxySMzx2NwIDAQAB +-----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/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/iiso b/retiolum/hosts/iiso new file mode 100644 index 00000000..3700cec5 --- /dev/null +++ b/retiolum/hosts/iiso @@ -0,0 +1,11 @@ +Subnet = 42:b2cd:6c75:d528:e736:ec4e:fc39:8bdc/128 +Subnet = 10.243.0.37/32 +Compression = 9 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAvsjBR0FUkjiNNLhz3AArosLqEiLZY7O8L6LorfUplD/IjG9P7XXx +ry4gbKEH57GPn11IOPP1AKQcz7SfW7EwvUS8U1IZgkQq8BuuD3oGBQxOqwnOwzVN ++XKSZjUfmT/Uf81PHfWE52BfbitI+SBTi0m9cIuhgyYRAjD7We97ogkWDogBXKvC +p1YYH44wcLte7lzWmId9hNOJtTu4KnCVgtXi/DYVLvuofrEk28DhhRSFiun4dkN6 +qMl8ZWOILOhUVSZN+cx/dslCwoog1FuEj7TyuhJFj8yoWIdI4xUGugzmV6npzTvU +bLkcVfuQQYlIV9D7YYPyEFB11U6mifZ5uwIDAQAB +-----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/krebsbitch b/retiolum/hosts/krebsbitch new file mode 100644 index 00000000..a776368a --- /dev/null +++ b/retiolum/hosts/krebsbitch @@ -0,0 +1,10 @@ +Subnet = 42:0398:5d7c:06c6:9978:4383:154b:3564/128 +Subnet = 42.35.192.96/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAuSPMGAVr8vLstf/4KnkFreYPhZGxmpE0IWaPIi39vz7d5Y8aE07R +DslQNV51X6YZ0qwfu1axfgn8cd679N9+X6fVxCV22ICPq9Rv6tCU4K//b08mIgxv +75D7RdWjPa3XbJiayK3SN8HuvcSo2cDXuvpG3D0yM5Cpjwu+40UZCVtSM7bZMY4M +E3urXJfdPZMh5Ajst4B/s5PymaiiUadvRnbVXjWCbtWIySHgg+Rg4Ww/47Sml1MJ +0DFEYb3RIsAW3sBsbfs54cF4jgO8YT2Pd0kIq4xey+/S14E6F6qxWizGwC2ZSF/o +qSbE1GJ2HlwhCt+cIr0g6s9s6QtzaLE36wIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/krebsbob b/retiolum/hosts/krebsbob new file mode 100644 index 00000000..cd01e5a4 --- /dev/null +++ b/retiolum/hosts/krebsbob @@ -0,0 +1,11 @@ +Address = krebsbob.no.de +Port = 1655 +Subnet = 42.195.17.113/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAwF9uuth4ffpvSVd8gre70Mu6kmEQdnjlBnNu/25IPEtZIRW/nVJW +dOMUcKdHOX8oqLhixoJ81xUmas+nPMbo6qyoPHDwMsQP4/ShvnNiTmmxHjAL3ac6 +zMSf7upnYCgY/4Btb4hIHGFEWDxkoT6PrSUCykx9TASLat8jvalOHAbbS9EjD4Fw +WXJvoJIRCggeMggkJbiWHdKozE4ra0EUVPaVO1FJLVsmiH7q7KuF/MQwly125Mo0 +Mg3XRhEMNe7mpiTznRxwA/w8h8DRPi8Qp1cfg9vgh5bKvPMDwTWhGVEKUlWDyiob +7LR/O3rM8qkOWI4nx5GhtxdaCt0V9tPebwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/krebsnode b/retiolum/hosts/krebsnode new file mode 100644 index 00000000..187fee86 --- /dev/null +++ b/retiolum/hosts/krebsnode @@ -0,0 +1,11 @@ +Address = krebs.no.de +Port = 1655 +Subnet = 42.18.77.65/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA8V86UoV5Eu3qWyXvMSfNG/OLHu9rOREwf+aNSRlpf0zGuHtH8Hzl +AJrfDe7ucKnn4YYhscpZB9Ae/wmQN3JytOzL1o0yxxdtehP8HjLVUCMCvF7Sx2++ +3PdpNMw7iUo08bRH8+8yRuxxJCrL+PJCbvE1/Speu/7jGioT8q+TKSl7f/bD0cSg +3TmDRG1lHVm/Synbd/aGeuI9CewGs3WukDVC6mmpWT0Q5bCG2YwJRO2kHz3ppUEO +sOyDfEeNiV6Cs3QF3j9DqQGIVvWrO4BKJoqhQ661UId7vokYRf3gkLSYs2/mkoWR +gMgBzL5++u4majp3p05wXua3j07eQE9qJQIDAQAB +-----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/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..ad7278e2 --- /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..8bc6dd16 --- /dev/null +++ b/retiolum/hosts/monitoring @@ -0,0 +1,7 @@ +Subnet = 42:82cb:f60c:6f27:611a:42f8:906c:2c70/128 +Subnet = 42.160.97.250/32 +-----BEGIN RSA PUBLIC KEY----- +MIGJAoGBAMjS8WxgbfJKVGRIFD0Bv+odQ7THNWDIcr1p4riVbOUPxtce+abasYGl +DOwaejcHP5bF11EAOOvdEtrivZReIZqYbMz5oWHLO6GCJn7nOCZVCW4LnUuNP3u8 +KQEU5oKj7LsKrBEEOtwpfNoWuZFzuzF0A6A2n+YYoea/Ak+hEbSbAgMBAAE= +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/no_omo b/retiolum/hosts/no_omo new file mode 100644 index 00000000..8b286381 --- /dev/null +++ b/retiolum/hosts/no_omo @@ -0,0 +1,10 @@ +Address = leechi.kicks-ass.org +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/oxberg b/retiolum/hosts/oxberg new file mode 100644 index 00000000..c267b582 --- /dev/null +++ b/retiolum/hosts/oxberg @@ -0,0 +1,11 @@ +Address = 84.23.80.172 +Subnet = 42:c154:3219:a91c:77eb:91bb:2f18:ff75/128 +Subnet = 42.160.213.134/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA57j66efrYrB7jlBVu6XD6433n/j1QL86KI/l7BCVTE11mJrElElc +YSAOB44arnFurSlU8RZIZAC4gnScmDnjJqCqudxps4wO0JTPqUCvUXkaZQ1fUf7W +H00K05Jkrr6xFHyDwZNrU4uitBfMuAXlUE2A0sFLJiBmFLMSS0abaUg0ALRwFsMI +5ftLHZPMV/TwUollCHQTfwMiMGo28WBm+nYvY+nUZRu3sx8HPLskYWmvt9giu7eo +iQCDee/bHym5Ax9vETpCrkZITq2MJtQdJX46iwvlgKxsV7VkCXAtmU3lMLyTSeRX +582RdmjFP2DdTPEulbL2YyfXVuLs0QIiRQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/pa_sharepoint b/retiolum/hosts/pa_sharepoint new file mode 100644 index 00000000..dd31362e --- /dev/null +++ b/retiolum/hosts/pa_sharepoint @@ -0,0 +1,7 @@ +Address = pa-sharepoint.informatik.ba-stuttgart.de +Subnet = 42.80.54.58/32 +-----BEGIN RSA PUBLIC KEY----- +MIGJAoGBAKSle+5vi8j+auGIC41PwFRPdzuyhP/paAEht+9mWpTYYC1meyPDwQR8 +EPNLwj1ccjsAvhubfaDmI3B13cBQx5q1BbTCK81Y5RS1tj384kvAabJAtKsz3aIg +1hWXjiDJUGNpQhKsD7IIg4lkkDcgOBAbdtXlynCQXdQL+YjLTavBAgMBAAE= +-----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/pico b/retiolum/hosts/pico new file mode 100644 index 00000000..8fc732b8 --- /dev/null +++ b/retiolum/hosts/pico @@ -0,0 +1,11 @@ +Address = pu11.de +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/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/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/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/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/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/temperator b/retiolum/hosts/temperator new file mode 100644 index 00000000..25c54bf2 --- /dev/null +++ b/retiolum/hosts/temperator @@ -0,0 +1,10 @@ +Subnet = 42:0b56:87fb:b3ab:677f:1158:bfa0:b937/128 +Subnet = 42.93.117.146/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEArV5wUD4DqM0RoqL47aPb4EcK8Fi7s+PaFwSqVYibMvjeh/zbRUqa +GQzEWa9ZR9dIzc0YNQKLOSKsiJNpdEwsWT5kUIUQq/YpFAQjcb/vEFbfZwesG08U +bmkiqXBVaRDYgdGvnJsfkxVYFuTBKstZk5zdK4/uUSVV6oB3G1xP29Umpjn13Dc6 +28F4aYSQ6U8wJaGpZWXiQrmGtFwaM3gY7MCGq3L/5ec+qo7/zqC3BNYYbuFPycs5 +O3H/Gu1E060YsThhtC4NbChupf0llJcHa7wpPyE2f31YBAQZMo5NpmQqWWLuLqSk +sT1QtjqIsNcMBK9ogxGb6fcMmycOUSsEFwIDAQAB +-----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/urkrebs b/retiolum/hosts/urkrebs new file mode 100644 index 00000000..ecffaec4 --- /dev/null +++ b/retiolum/hosts/urkrebs @@ -0,0 +1,10 @@ +Subnet = 42:0c61:780c:bf22:7624:fca8:d4d7:a4fd/128 +Subnet = 42.171.152.235/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAl6vUmUL8w8r2gUTpUF8QWx0U3nzDPao2I7l0WU1NnGcR8DVug7YN +595guvDkRGcM4eYGizgVYVvDCmjTQRXRn57ucVud2bGE1NGtdomVs6wggpgzLiaf +m9BJwsigoCyMv+8ewGfc+D10TupulcIiZSp/RAewYlX0rhmgdsEGnCt+TWvXRsIa +kY1pvt4YeKjs2ctib3OmaPuNokK4ophxSpdZ5arjHCaiVMj2O6pPAQbU7WFY63Fw +UP64cAmtqBM+uMteT7bdG1jT3KZS6W7Dy8rIBd+pp+vB656A5PhrDcGEUMFSXqPD +BwIxhV7OAejSn4XjrZyd5eNtMOQKopIMQwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/xso b/retiolum/hosts/xso new file mode 100644 index 00000000..1f035a78 --- /dev/null +++ b/retiolum/hosts/xso @@ -0,0 +1,10 @@ +Subnet = 42:fb16:96ad:c849:f5d4:2170:103d:e86b/128 +Subnet = 42.124.174.80/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA1p1WG0yDOku0u8XPzN2BAcrkVeR11c8Si3sz2BNoYPitdA2wW/TE +mHjGw4Dxt1Q+lWmxtsNnV2x5IoZBSIovS8Tuj4O6mVTmgSJSta988gzmeImQksb6 ++/d4LQmqc6/u24sKrWEPQ7sCpb5sPGr1K1yLNtAnD7pt3rGiX/VK/SKBYKpB5wGf +snRHB5fj/4yc5M7YjQI+TO0jTKdlf9B4JrRX/DhbmZ9n/EPGREGUgrDyi66Jk8ea +yRyCg/5UcHD6z74ZN6Is4bbQXZaQ4S61r+JmFebsC2CxkZ20jayDBRKcQL6yH0ZZ +a1rAdUqyh894vNctn52GAp7P96dhwAnwEQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/hosts/ytart b/retiolum/hosts/ytart new file mode 100644 index 00000000..9df79635 --- /dev/null +++ b/retiolum/hosts/ytart @@ -0,0 +1,9 @@ +Subnet = 42.82.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/hosts/zerg b/retiolum/hosts/zerg new file mode 100644 index 00000000..9e9b0a4e --- /dev/null +++ b/retiolum/hosts/zerg @@ -0,0 +1,10 @@ +Subnet = 42:448b:2bdc:d090:9f0f:a957:01a7:7254/128 +Subnet = 42.20.21.115/32 +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAxLkTKBXMgChxgPlMlLqqGRx/MSZos2dkXdCw7pzyO9HRwYi2Ax1j +frVG8Z6YQJAxGv4mOtSLEkSfgzgg0AgCb1o0/fniFabYgBVBMr7K5HvnoJz+ODP2 +49O7+m8t495ygOVY/qO6u4ezSbzDTqcPUjQxUHRo1Ik4/uDjvkPe+rbxC2ZTVW/Z +YnhSaWwH/GkzI9T8OCmAGetdrsXKY+h/ukVJB89qHXAs2fqWIUvujyfwN/mj5mx4 +BT28RJr2/Mx2ivb1Dq1t8iaxNx+I8q5/WVl0EfZBKkSHsXtqzg9xqwzMS37dF356 +0uq2uuysIDbFMXF3jYvFSZyxCmgXNzvN5QIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/retiolum/openwrt/tinc-up b/retiolum/openwrt/tinc-up new file mode 100755 index 00000000..3b8bb978 --- /dev/null +++ b/retiolum/openwrt/tinc-up @@ -0,0 +1,19 @@ +# 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 + +addr4=`sed -n 's|^ *Subnet *= *\(10[.][^ ]*\) *$|\1|p' $host` +if [ "$addr4" != '' ];then + ifconfig $INTERFACE $addr4 + route add -net 10.243.0.0 netmask 255.255.0.0 dev retiolum +else + addr4=`sed -n 's|^ *Subnet *= *\(42[.][^ ]*\) *$|\1|p' $host` + ifconfig $INTERFACE $addr4 + route add -net 42.0.0.0 netmask 255.0.0.0 dev retiolum +fi diff --git a/retiolum/openwrt/updater b/retiolum/openwrt/updater new file mode 100755 index 00000000..4dbc7d78 --- /dev/null +++ b/retiolum/openwrt/updater @@ -0,0 +1,6 @@ +#!/bin/sh +cd /etc/tinc/retiolum/hosts +wget http://vpn.miefda.org/hosts.tar.gz +tar xzf hosts.tar.gz +rm hosts.tar.gz +tincd -n retiolum -kHUP diff --git a/retiolum/scripts/adv_graphgen/BackwardsReader.py b/retiolum/scripts/adv_graphgen/BackwardsReader.py new file mode 100644 index 00000000..6bdbf43c --- /dev/null +++ b/retiolum/scripts/adv_graphgen/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/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/all_the_graphs.sh b/retiolum/scripts/adv_graphgen/all_the_graphs.sh new file mode 100755 index 00000000..36b37f03 --- /dev/null +++ b/retiolum/scripts/adv_graphgen/all_the_graphs.sh @@ -0,0 +1,5 @@ +#!/bin/sh +echo "`date` begin all graphs" >> /tmp/build_graph +cd $(dirname $(readlink -f $0)) +(./anonytize.sh /srv/http/pub/graphs/retiolum/ && echo "`date` anonytize done" >> /tmp/build_graph)& +(./sanitize.sh /srv/http/priv/graphs/retiolum/ && echo "`date` sanitize done" >> /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..1ebfe972 --- /dev/null +++ b/retiolum/scripts/adv_graphgen/anonytize.sh @@ -0,0 +1,31 @@ +#!/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=/var/log/syslog +TYPE=svg +TYPE2=png +OPENER=/bin/true +DOTFILE=`mktemp` +trap 'rm $DOTFILE' INT TERM +sudo LOG_FILE=$LOG_FILE python tinc_stats.py |\ + python parse_tinc_anon.py> $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 -resize 20% $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/find_legacy_hosts.py b/retiolum/scripts/adv_graphgen/find_legacy_hosts.py new file mode 100755 index 00000000..52388b6d --- /dev/null +++ b/retiolum/scripts/adv_graphgen/find_legacy_hosts.py @@ -0,0 +1,59 @@ +#!/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 some 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 + #sys.stderr.write ( "Getting Node availability of %s\n" % name) + 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 + #sys.stderr.write("%s offline at timestamp %f\n" %(name,current)) + last = ts + all_the_time = last - begin + try: + return uptime/ all_the_time + except: + return 1 + + +generate_stats() diff --git a/retiolum/scripts/adv_graphgen/parse.py b/retiolum/scripts/adv_graphgen/parse.py deleted file mode 100755 index 9c2dd051..00000000 --- a/retiolum/scripts/adv_graphgen/parse.py +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/python2 -# -*- coding: utf8 -*- - -import sys -""" TODO: Refactoring needed to pull the edges out of the node structures again, -it should be easier to handle both structures""" - -def write_digraph(nodes): - """ - writes the complete digraph in dot format - """ - print ('digraph retiolum {') - print (' node[shape=box,style=filled,fillcolor=grey]') - print (' overlap=false') - generate_stats(nodes) - nodes = delete_unused_nodes(nodes) - merge_edges(nodes) - for k,v in nodes.iteritems(): - write_node(k,v) - print ('}') -def generate_stats(nodes): - """ Generates some statistics of the network and nodes - """ - for k,v in nodes.iteritems(): - v['num_conns'] = len(v.get('to',[])) -def delete_unused_nodes(nodes): - new_nodes = {} - for k,v in nodes.iteritems(): - if v.get('to',[]): - new_nodes[k] = v - 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[con['name']].get('to',[])): - if k == secon['name']: - del (nodes[con['name']]['to'][i]) - con['bidirectional'] = True - - -def write_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 += "external:"+v['external-ip']+":"+v['external-port']+"\\l" - if v.has_key('num_conns'): - node += "Num Connects:"+str(v['num_conns'])+"\\l" - for addr in v.get('internal-ip',['¯\\\\(°_o)/¯']): - node += "internal:"+addr+"\\l" - node +="\"" - if v['external-ip'] == "MYSELF": - node += ",fillcolor=steelblue1" - node += "]" - print node - - for con in v.get('to',[]): - edge = " "+k+ " -> " +con['name'] + "[weight="+str(float(con['weight'])) - if con.get('bidirectional',False): - edge += ",dir=both" - edge += "]" - print edge - -def parse_input(): - nodes={} - for line in sys.stdin: - line = line.replace('\n','') - if line == 'Nodes:': - nodes={} - for line in sys.stdin: - if line == 'End of nodes.\n': - break - l = line.replace('\n','').split() #TODO unhack me - nodes[l[0]]= { 'external-ip': l[2], 'external-port' : l[4] } - if line == 'Subnet list:': - for line in sys.stdin: - if line == 'End of subnet list.\n': - 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 line == 'Edges:': - edges = {} - for line in sys.stdin: - if line == 'End of edges.\n': - 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 -nodes = parse_input() -write_digraph(nodes) diff --git a/retiolum/scripts/adv_graphgen/parse_tinc_anon.py b/retiolum/scripts/adv_graphgen/parse_tinc_anon.py new file mode 100755 index 00000000..3b0383da --- /dev/null +++ b/retiolum/scripts/adv_graphgen/parse_tinc_anon.py @@ -0,0 +1,135 @@ +#!/usr/bin/python +# -*- coding: utf8 -*- +from BackwardsReader import BackwardsReader +import sys,json +#supernodes= [ "kaah","supernode","euer","pa_sharepoint","oxberg" ] +""" 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 write_digraph(nodes): + """ + writes the complete digraph in dot format + """ + print ('digraph retiolum {') + #print (' graph [center rankdir=LR packMode="clust"]') + print (' graph [center packMode="clust"]') + print (' node[shape=circle,style=filled,fillcolor=grey]') + print (' overlap=false') + generate_stats(nodes) + merge_edges(nodes) + nodes = anon_nodes(nodes) + for k,v in nodes.iteritems(): + write_node(k,v) + write_stat_node(nodes) + print ('}') + +def anon_nodes(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 + +def write_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 + ''' + num_conns = 0 + num_nodes = len(nodes) + for k,v in nodes.iteritems(): + num_conns+= len(v['to']) + node_text = " stats_node [shape=box,label=\"Statistics\\l" + 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 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): + 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(new_nodes[k]) + 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 write_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 += "avg weight: %.2f\\l" % v['avg_weight'] + #if v.has_key('num_conns'): + # node += "Conns:"+str(v['num_conns'])+"\\l" + #node +="\"" + #node +=",group=\""+v['external-ip'].replace(".","") + "\"" + #node += "]" + print node + + 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) + #weight = "1000" #str(300/float(con['weight'])) + #weight = str((100/float(con['weight']))) + #weight = str(-1 * (200-100000/int(con['weight']))) + if float(weight) < 0 : + weight= "1" + + #sys.stderr.write(weight + ":"+ length +" %s -> " %k + str(con) + "\n") + edge = " "+k+ " -> " +con['name'] + " [label="+label + " weight="+weight #+ " minlen="+length + if con.get('bidirectional',False): + edge += ",dir=both" + edge += "]" + print edge + +def decode_input(FILE): + return json.load(FILE) +nodes = decode_input(sys.stdin) +nodes = delete_unused_nodes(nodes) +write_digraph(nodes) diff --git a/retiolum/scripts/adv_graphgen/parse_tinc_stats.py b/retiolum/scripts/adv_graphgen/parse_tinc_stats.py new file mode 100755 index 00000000..54dcc4ab --- /dev/null +++ b/retiolum/scripts/adv_graphgen/parse_tinc_stats.py @@ -0,0 +1,185 @@ +#!/usr/bin/python +# -*- coding: utf8 -*- +from BackwardsReader import BackwardsReader +import sys,json +supernodes= [ "kaah","supernode","euer","pa_sharepoint","oxberg" ] +""" 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 write_digraph(nodes): + """ + writes the complete digraph in dot format + """ + print ('digraph retiolum {') + #print (' graph [center rankdir=LR packMode="clust"]') + print (' graph [center packMode="clust"]') + print (' node[shape=box,style=filled,fillcolor=grey]') + print (' overlap=false') + generate_stats(nodes) + merge_edges(nodes) + write_stat_node(nodes) + for k,v in nodes.iteritems(): + write_node(k,v) + print ('}') +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 write_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 + ''' + num_conns = 0 + num_nodes = len(nodes) + for k,v in nodes.iteritems(): + num_conns+= len(v['to']) + node_text = " stats_node [label=\"Statistics\\l" + 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 generate_stats(nodes): + """ Generates some statistics of the network and nodes + """ + 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(): + 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) + v['availability'] = get_node_availability(k,jlines) + sys.stderr.write( "%s -> %f\n" %(k ,v['availability'])) +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 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 + #sys.stderr.write ( "Getting Node availability of %s\n" % name) + 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 + #sys.stderr.write("%s offline at timestamp %f\n" %(name,current)) + last = ts + all_the_time = last - begin + try: + return uptime/ all_the_time + except: + return 1 + +def delete_unused_nodes(nodes): + 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(new_nodes[k]) + 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 write_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'] + #node += "avg weight: %.2f\\l" % v['avg_weight'] + 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',['¯\\\\(°_o)/¯']): + node += "internal:"+addr+"\\l" + node +="\"" + if k in supernodes: + node += ",fillcolor=steelblue1" + #node +=",group=\""+v['external-ip'].replace(".","")+"\"" + node += "]" + print node + + 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) + #weight = "1000" #str(300/float(con['weight'])) + #weight = str((100/float(con['weight']))) + #weight = str(-1 * (200-100000/int(con['weight']))) + if float(weight) < 0 : + weight= "1" + + #sys.stderr.write(weight + ":"+ length +" %s -> " %k + str(con) + "\n") + edge = " "+k+ " -> " +con['name'] + "[label="+label + " weight="+weight #+ " minlen="+length + if con.get('bidirectional',False): + edge += ",dir=both" + edge += "]" + print edge + +def decode_input(FILE): + return json.load(FILE) +nodes = decode_input(sys.stdin) +nodes = delete_unused_nodes(nodes) +try: + dump_graph(nodes) +except Exception,e: + sys.stderr.write("Cannot dump graph: %s" % str(e)) +write_digraph(nodes) diff --git a/retiolum/scripts/adv_graphgen/sanitize.sh b/retiolum/scripts/adv_graphgen/sanitize.sh index 2febc54c..50f1659f 100755 --- a/retiolum/scripts/adv_graphgen/sanitize.sh +++ b/retiolum/scripts/adv_graphgen/sanitize.sh @@ -1,17 +1,32 @@ +#!/bin/sh +set -euf +cd $(dirname `readlink -f $0`) GRAPH_SETTER1=dot GRAPH_SETTER2=circo -GRAPH_SETTER3=neato -GRAPH_SETTER3=sfdp -LOG_FILE=/var/log/everything.log +GRAPH_SETTER3='neato -Goverlap=prism ' +GRAPH_SETTER4=sfdp +LOG_FILE=/var/log/syslog +TYPE=svg +TYPE2=png OPENER=/bin/true +DOTFILE=`mktemp` +trap 'rm $DOTFILE' INT TERM +sudo LOG_FILE=$LOG_FILE python tinc_stats.py |\ + python parse_tinc_stats.py > $DOTFILE -sudo pkill -USR2 tincd -sudo sed -n '/tinc.retiolum/{s/.*tinc.retiolum\[[0-9]*\]: //gp}' $LOG_FILE |\ - ./parse.py > retiolum.dot -$GRAPH_SETTER1 -Tpng -o $1retiolum_1.png retiolum.dot -$GRAPH_SETTER2 -Tpng -o $1retiolum_2.png retiolum.dot -$GRAPH_SETTER3 -Tpng -o $1retiolum_3.png retiolum.dot -$GRAPH_SETTER4 -Tpng -o $1retiolum_4.png retiolum.dot -$OPENER retiolum_1.png &>/dev/null -#rm retiolum.dot +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 -resize 20% $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.py b/retiolum/scripts/adv_graphgen/tinc_stats.py new file mode 100755 index 00000000..d0d47aff --- /dev/null +++ b/retiolum/scripts/adv_graphgen/tinc_stats.py @@ -0,0 +1,83 @@ +#!/usr/bin/python +from BackwardsReader import BackwardsReader +import os +import re +import sys +import json + + +TINC_NETWORK = os.environ.get("TINC_NETWORK","retiolum") +os.environ["LOG_FILE"] +SYSLOG_FILE = os.environ.get("LOG_FILE","/var/log/everything.log") + + +# 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 get_tinc_block(log_file): + """ returns an iterateable block from the given log file (syslog) """ + tinc_block = [] + in_block = False + bf = BackwardsReader(log_file) + BOL = re.compile(".*tinc.retiolum\[[0-9]+\]: ") + 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_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__': + import subprocess,time + subprocess.call(["pkill","-SIGUSR2", "tincd"]) + time.sleep(1) + print json.dumps(parse_input((get_tinc_block(SYSLOG_FILE)))) diff --git a/retiolum/scripts/autostart/Makefile b/retiolum/scripts/autostart/Makefile deleted file mode 100644 index aba6bd33..00000000 --- a/retiolum/scripts/autostart/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -INIT_FOLDER=/etc/init.d -.phony: all -debian: - #TODO change the tinc file before writing - cp tinc /etc/init.d/tinc - chmod +x /etc/init.d - echo "retiolum" > /etc/tinc/nets.boot - update-rc.d tinc defaults -arch: - @cp tinc /etc/rc.d - @chmod +x /etc/rc.d/tinc - @echo "add tinc to DAEMONS in /etc/rc.conf" - - 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/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/install.sh b/retiolum/scripts/tinc_setup/install.sh index 9df38df7..a6b50b8a 100755 --- a/retiolum/scripts/tinc_setup/install.sh +++ b/retiolum/scripts/tinc_setup/install.sh @@ -1,11 +1,18 @@ #! /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=../../bin +MYBIN=${CURR}/../../bin netname=retiolum # create configuration directory for $netname mkdir -p /etc/tinc/$netname/hosts @@ -15,45 +22,50 @@ 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 - echo "select username: " + 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.7.7.0 + mynet4=10.243.0.0 if [ ! "$myipv4" ] then - echo "select v4 subnet ip (1-255) :" + printf 'select v4 subnet ip (1-255): ' read v4num - myipv4=10.7.7.$v4num - if [ "$v4num" -gt 0 -a "$v4num" -lt "256" ]; - then - echo "check" - else - echo "you are made of stupid. bailing out" - exit 1 - fi + until $MYBIN/check-free-retiolum-v4 $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=`${CURR}/../../bin/fillxx 42:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx`/128 + 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 -cp $CURR/tinc-up /etc/tinc/$netname/ - cat>tinc.conf<<EOF Name = $myname -ConnectTo = supernode -ConnectTo = kaah +ConnectTo = euer +ConnectTo = oxberg ConnectTo = pa_sharepoint +ConnectTo = supernode Device = /dev/net/tun EOF diff --git a/retiolum/scripts/tinc_setup/tinc-up b/retiolum/scripts/tinc_setup/tinc-up index ae7c68e6..a829528d 100755 --- a/retiolum/scripts/tinc_setup/tinc-up +++ b/retiolum/scripts/tinc_setup/tinc-up @@ -4,17 +4,22 @@ dirname="`dirname "$0"`" conf=$dirname/tinc.conf -name=`sed -rn 's|^ *Name *= *([^ ]*) *$|\1|p' $conf` +name=`sed -n 's|^ *Name *= *\([^ ]*\) *$|\1|p' $conf` host=$dirname/hosts/$name -route4=10.7.7.0/24 -addr4=`sed -rn 's|^ *Subnet *= *(10\.[^ ]*) *$|\1|p' $host` +ip link set $INTERFACE up -route6=42::/16 -addr6=`sed -rn 's|^ *Subnet *= *(42:[^ ]*) *$|\1|p' $host` +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 -ifconfig $INTERFACE up $addr4 -route add -net $route4 dev $INTERFACE +addr6=`sed -n 's|^ *Subnet *= *\(42[:][^ ]*\) *$|\1|p' $host` ip -6 addr add $addr6 dev $INTERFACE -ip -6 route add $route6 dev $INTERFACE +ip -6 route add 42::/16 dev $INTERFACE diff --git a/retiolum/scripts/tinc_setup/write_channel.py b/retiolum/scripts/tinc_setup/write_channel.py index a11d4605..8299fa8d 100644 --- a/retiolum/scripts/tinc_setup/write_channel.py +++ b/retiolum/scripts/tinc_setup/write_channel.py @@ -3,18 +3,19 @@ import random, sys, time, socket try: myname=sys.argv[1] except: - print "you are made of stupid" + print("you are made of stupid") exit (23) -CHANNEL = '#tincspasm' +CHANNEL = '#krebsco' HOST='irc.freenode.net' FILE="/etc/tinc/retiolum/hosts/"+myname PORT=6667 NICK= myname+"_"+str(random.randint(23,666)) +print("Connecting...") sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) sock.connect((HOST,PORT)) -print NICK +print(NICK) sock.send("NICK %s\r\n" % NICK) sock.send("USER %s %s bla : %s\r\n" %(NICK,HOST,NICK)) sock.send("JOIN %s\r\n" % CHANNEL) @@ -22,5 +23,5 @@ time.sleep(23) f = open(FILE,'r') a = [ sock.send("PRIVMSG %s : %s" % ( CHANNEL,line)) for line in f] time.sleep(5) #because irc is so lazy -print "closing socket" +print("closing socket") sock.close() |
