summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkrebs <krebs@fuerkrebs>2011-11-08 17:14:03 -0500
committerkrebs <krebs@fuerkrebs>2011-11-08 17:14:03 -0500
commit7bef2d4da84b6fb2ca2235a8058cec9150d69cbe (patch)
tree8adcf21febfc2e2008fc89cc5f454a7586f1d26e
parent8fd3f1126b66aed4801fa896d72b09f2f7702dce (diff)
parent58ec181dd1cd17997e35fb64ec2088fa4b2181dd (diff)
Merge branch 'master' of github.com:krebscode/painload
-rw-r--r--cholerab/assets/lexikon.txt12
-rw-r--r--cholerab/assets/usecases.txt62
-rw-r--r--cholerab/gold/krebsco-affiliatefox.xpibin0 -> 8172 bytes
-rw-r--r--cholerab/gold/partnernet5
-rw-r--r--cholerab/news/Candidate83
-rw-r--r--retiolum/Makefile2
-rw-r--r--retiolum/hosts/alphalabs1
-rw-r--r--retiolum/hosts/steve10
-rwxr-xr-xretiolum/scripts/adv_graphgen/find_legacy_hosts.py59
-rwxr-xr-xretiolum/scripts/tinc_setup/install.sh16
10 files changed, 223 insertions, 27 deletions
diff --git a/cholerab/assets/lexikon.txt b/cholerab/assets/lexikon.txt
new file mode 100644
index 00000000..0d362100
--- /dev/null
+++ b/cholerab/assets/lexikon.txt
@@ -0,0 +1,12 @@
+
+asset / N assets
+
+platz / plaetze
+
+root-server
+
+shared root-server
+
+recht / rechte
+
+datenbank
diff --git a/cholerab/assets/usecases.txt b/cholerab/assets/usecases.txt
new file mode 100644
index 00000000..c8862e6b
--- /dev/null
+++ b/cholerab/assets/usecases.txt
@@ -0,0 +1,62 @@
+# use case #1: asset einsetzen
+ Hat Krebs ein Grafikkarte, die gute genug ist.
+ Wenn ja, dann will ich die in mein Computer einbauen.
+
+# use case #2: asset soll in der Ursprungszustand versetzt werden.
+ Urkrebs Mainboard-Batterie is leer und braucht Ersatz.
+ Haben wir so eine Batterie und falls ja, dann soll sie
+ fuer immer in Urkrebs rein.
+
+# use case #3: asset einlagern
+ Grafikkarte aus use case #1 (#2) soll wieder zurueck.
+
+# use case #4: asset ausschlachten
+ Urkrebs ist bis auf das Netzteil zerstoert worden,
+ das Netzteil soll eingelagert werden.
+
+# use case #5: asset hinzufuegen
+ Krebs erhaelt einen neuen Computer.
+
+# use case #6: asset finden
+ Wo oder bei wem ist das USB-Thermometer?
+
+# use case #7: asset details finden
+ Wie viele 4-Port-USB-Hubs hat krebs und wo sind die?
+
+# use case #8: verlust eines assets
+ Urkrebs ist physikalisch verschwunden, aber noch in der datenbank
+ eingetragen.
+ Welt der Dinge und der Daten muessen wieder synchron sein.
+
+# use case #9: asset anzahl erniedrigen; assets mergen
+ Eine von hundert Batterien soll von platz X entnommen werden
+ und in ein asset integriert werden.
+
+# use case #A: asset entfernen
+ Urkrebs wir vom Besitzer ausserhalb von krebs benoetigt und dem Bestand
+ entnommen.
+
+# use case #B: verlust eines platzes
+ platz ist explodiert und ein Teil der eingelagerten assets wurde vernichtet,
+ der andere Teil muss migriert werden.
+
+# use case #C: assets eines platzes erfragen
+ Was in an platz X eingelagert?
+
+# use case #D:
+ X war noch nie KM, hat aber unberechtigter weise assets, plaetze, rechte.
+ assets muessen an andere plaetze migriert werden.
+ dinge, die wie assets waren, aber nie wirklich assets waren, muessen aus der
+ datenbank entfernt werden.
+ plaetze muessen aus datenbank entfernt werden.
+ X muss entrechtet werden.
+
+# use case #E: assets in assets
+ Batterien liegen im Bankschliesfach X an platz Y.
+
+# use case #F:
+ ein root-server ist verschwunden.
+
+# use case #G:
+ welche shared root-server hat krebs in uk?
+
diff --git a/cholerab/gold/krebsco-affiliatefox.xpi b/cholerab/gold/krebsco-affiliatefox.xpi
new file mode 100644
index 00000000..b4a1ba69
--- /dev/null
+++ b/cholerab/gold/krebsco-affiliatefox.xpi
Binary files differ
diff --git a/cholerab/gold/partnernet b/cholerab/gold/partnernet
new file mode 100644
index 00000000..d3860c2e
--- /dev/null
+++ b/cholerab/gold/partnernet
@@ -0,0 +1,5 @@
+# Affiliate Browser Plugins
+
+## Amazon
+### Affiliatefox plugin for firefox
+http://affiliatefox.net/install/install.php?hash=da08f290f4cfaadca7f14a8415230469
diff --git a/cholerab/news/Candidate b/cholerab/news/Candidate
index 4d25b6c0..31d2c670 100644
--- a/cholerab/news/Candidate
+++ b/cholerab/news/Candidate
@@ -1,29 +1,43 @@
-# Krebs News Issue #1 (2011-08-24)
-## Ante Scriptum
-Wer noch kein Krebs hat kann es ganz einfach mit git aus github[-1.1]
-auschecken.
+# Krebs News Issue #3 (2011-??-??)
-Alle Pfade in den Krebs News beginnend mit `//` bezeichnen das root
-verzeichnis des ausgecheckten krebs ordners ( optimaler weise in `/krebs`).
+## -1. Ante Scriptum
-## 0. godmode im shack
-Der Urkrebs steuert ab heute die Photonenwerfer im shack.
-[`//god/licht`][0.1] ist hierfür verantwortlich.
+Wer noch keinen Krebs hat, kann sich ganz einfach mit [Git][-1.1] ein
+Klon von [GitHub][-1.0] holen:
-Um das Licht anzumachen einfach per Telnet auf krebs.shack:
+ git clone https://github.com/krebscode/painload krebs
- $ rlwrap nc krebs.shack 23
+Das so oder ähnlich erzeugte Verzeichnis wird im Folgenden `//`
+genannt. Das Ministerium empfiehlt die Verwendung von `/krebs`,
+aber jeder andere Ort ist fast genauso gut.
-und dort mit `/licht <Lampe> <0/1>` das licht an/ausschalten.
-Die Lampen sind von Fensterseite richtung Innenhof durchnummeriert(0-3).
+[-1.0]: https://github.com
+[-1.1]: http://git-scm.com
+
+## 0. Steuerung der Lichtverschmutzung
-Das MoC bedankt sich sehr herzlich bei Ulrich, der auf anfrage die
-Lichsteuerung mit Ethernet ausgestattet und sie fuer die Benutzung zur
-verfuegung gestellt hat.
+Der Urkrebs steuert schon immer das Licht. Dazu muss man sich lediglich
+auf [`//noise`][0.2]`@krebs.shack` einwählen und die relevanten
+Kommandos absetzen.
-[0.1]: https://github.com/krebscode/painload/tree/master/god
+Eine Einwahl erfolgt z.B. mittels `netcat` wie folgt:
-## 1. Tinc Retiolum updates
+ rlwrap nc krebs.shack telnet
+ rlwrap ncat krebs.shack 23
+ rlwrap netcat krebs.shack 23
+
+Die relevanten Kommando sehen in etwa so aus:
+
+ /licht SPEC ZUSTAND
+
+dabei ist `ZUSTAND` eine Ganzzahl im Bereich `[0,1]` und die möglichen Werte
+von `SPEC` können der vorzüglich belesenen Quelle von [`//god/licht`][0.1]
+entnommen werden.
+
+[0.1]: https://github.com/krebscode/painload/tree/master/god/licht
+[0.2]: https://github.com/krebscode/painload/tree/master/noise
+
+## TODO 1. Tinc Retiolum updates
Das retiolum Darknet ueber tinc als vermaschtes VPN ist ein integraler
Bestandteil der Krebs Infrastruktur. Umso wichtiger ist es, dass die
installation ueberall imer genau das richtige macht.
@@ -46,7 +60,7 @@ gewaehrleisten sollen verwendet werden.
[1.1] : https://github.com/krebscode/painload/tree/master/retiolum/bin/get-tinc-dir
-## 2. Krebs MPD + http stream
+## TODO 2. Krebs MPD + http stream
KM momo hat sich heute (01.09.2011) gegen die streams gewehrt und auf der filebitch einen mpd Server eingerichtet.
Der MPD streamt jetzt via http(vorbis) auf http://filebitch.shack:8000.
@@ -56,11 +70,38 @@ Ein Webinterface ist noch nicht geplant.
Die Musiksammlung kann in incoming/Musik auf der Filebitch erweitert werden.
-## 3. KNUT - Die Krebs Notification Utility Toolchain
+## TODO 3. KNUT - Die Krebs Notification Utility Toolchain
+Bereits wieder obsolete?
-## 4. Krebs Kommandozentrale
+## TODO 4. Krebs Kommandozentrale
Der 17" Monitor am Krebs sowie die auf dem Drucker liegende Tastatur wurden so modifiziert dass auf der ersten shell ein ncmpc Interface zu sehen ist, womit sich der MPD und somit auch die Loungebeschallung steuern lässt. Auf der 2. Shell (änderbar duch ctrl+alt+F2) befindet sich ein direktzugriff auf //noise, welcher es u.a. ermöglicht streams zu wechseln oder das licht ein/auszuschalten.
Credits gehen an KM momo und KM tv
+
+## TODO 5. Todesmeldung Urkrebs
+
+Es ist zu vermerken, dass der Urkebs, bzw. dessen Gedaechnis auf der CF-Disk gestorben. Gluecklicher weise wurde zuvor eine dd[⌅]-kopie auf die CF-Karte von Fuerkrebs (Krebs auf der Bruecke/Optionsraeme [Ȳ]) erstellt und diese wurde kurzer hand fuer die Wiederbelebung des Urkrebses verwendet. Dies hat allerdings auch etwas an urspruenglicher Funktionalitaet (siehe ->Oncology) zerstoert. Diese wurde zu einem spaeteren Zeitpunkt wieder hergestellt. Zusaetzlich meldet sich der Urkrebs nun offiziell im Retiolum als Fuerkrebs an.
+
+## TODO 6. Reaktor for IRC
+
+TODO
+
+## TODO 7. Census auf Urkrebs
+
+Census[Ƀ] ist ein projekt in painload welches dem lokal ansaessigen krebs die moeglichkeit bietet noch gezielter laeute im shack zu beleidigen. Alle weiteren informationen koennen aus dem Quelltext von Census entnommen werden. Census wurde am 2011-11-01 in den erweiterten Probebetrieb aufgenommen.
+
+## TODO 8. Oncology auf dem (neuen) Urkrebs
+
+Nachdem Gedaechnistausch von Fuerkrebs und Urkrebs hat es ja wie beschrieben die Funktionalitaet Oncology (Mini Statusbildschirm an USB) dahingerafft. Am 2011-11-07 wurde diese wieder in den Funktionalbetrieb aufgenommen.
+
+## TODO 9. Krebs Darknet Retiolum Prefix(KD;RP) Graphen-Map in Version 23
+
+Der Graphengenerator fuer KD;RP (siehe [ɐ]ist ueberarbeitet worden und bietet seit dem 2011-10-23 die moeglichkeit Statistiken zu dem Netzwerk und einzelnen Nodes auszugeben. Hervorzuheben ist hierbei die funktionalitaet die Availability von Nodes zu beschreiben, also wie wahrscheinlich es ist einen Knoten X zu einem Zeitpunkt Y im Darknet anzutreffen. Zusaetzlich wurde die Stats-generator engine ueberarbeitet und laeuft nun besonders bei grossen /var/log/syslog files schneller [⠣].
+
+[⠣] https://github.com/krebscode/painload/commit/822c43a763aa61c1accce3768090d066048faaff
+[⌅] man dd
+[Ȳ] http://shackspace.de/wiki/doku.php?id=project:krebs#fuerkrebs
+[Ƀ] https://github.com/krebscode/painload/tree/master/census
+[ɐ] http://euer.krebsco.de/graphs/retiolum/retiolum_1.svg
diff --git a/retiolum/Makefile b/retiolum/Makefile
index effdbfb8..a7fa500a 100644
--- a/retiolum/Makefile
+++ b/retiolum/Makefile
@@ -11,7 +11,7 @@ hosts:
bin/update-retiolum-hosts || true
install: update
- punani -Eih tinc /usr/bin/python /usr/bin/python2
+ ../punani/bin/punani -Eih tinc /usr/bin/python /usr/bin/python2
@# will not run automatically
scripts/tinc_setup/install.sh
scripts/autostart/create-startup.sh
diff --git a/retiolum/hosts/alphalabs b/retiolum/hosts/alphalabs
index ca99549c..4019dd19 100644
--- a/retiolum/hosts/alphalabs
+++ b/retiolum/hosts/alphalabs
@@ -1,3 +1,4 @@
+Address = 10.9.0.10
Subnet = 10.7.7.10
Subnet = 42:0:0:0:0:0:0:a1fa/128
-----BEGIN RSA PUBLIC KEY-----
diff --git a/retiolum/hosts/steve b/retiolum/hosts/steve
new file mode 100644
index 00000000..59e26e21
--- /dev/null
+++ b/retiolum/hosts/steve
@@ -0,0 +1,10 @@
+Subnet = 10.7.7.101
+Subnet = 42:58a0:e7b1:506e:b09e:1b68:5149:c6e8/128
+-----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/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/tinc_setup/install.sh b/retiolum/scripts/tinc_setup/install.sh
index a550a068..2198589b 100755
--- a/retiolum/scripts/tinc_setup/install.sh
+++ b/retiolum/scripts/tinc_setup/install.sh
@@ -22,11 +22,15 @@ 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
@@ -35,11 +39,13 @@ then
if [ ! "$myipv4" ]
then
- echo "select v4 subnet ip (1-255) :"
+ printf 'select v4 subnet ip (1-255): '
read v4num
- if ! $MYBIN/check-free-retiolum-v4 $v4num;then
- 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.7.7.$v4num"
fi
echo "Subnet = $myipv4" > hosts/$myname