From 9ee84b819b3684e68385dcabfab99972ca3dd2fc Mon Sep 17 00:00:00 2001
From: root
Date: Sat, 27 Aug 2011 20:58:39 +0200
Subject: initial vommit
---
krebsbeam/c-beam | 1 +
1 file changed, 1 insertion(+)
create mode 160000 krebsbeam/c-beam
diff --git a/krebsbeam/c-beam b/krebsbeam/c-beam
new file mode 160000
index 00000000..0072bf8f
--- /dev/null
+++ b/krebsbeam/c-beam
@@ -0,0 +1 @@
+Subproject commit 0072bf8f0cd3a6d0fe022c15c8957373cebef293
--
cgit v1.2.3
From a01e681c8b67be24878772a3deb3a1a796b94342 Mon Sep 17 00:00:00 2001
From: root
Date: Sat, 27 Aug 2011 21:25:13 +0200
Subject: Add c-beam submodule
---
.gitmodules | 3 +++
1 file changed, 3 insertions(+)
diff --git a/.gitmodules b/.gitmodules
index ed0cb4ed..ab38c084 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -13,3 +13,6 @@
[submodule "submodules/github/tautologistics/node-htmlparser"]
path = submodules/github/tautologistics/node-htmlparser
url = https://github.com/tautologistics/node-htmlparser
+[submodule "krebsbeam/c-beam"]
+ path = krebsbeam/c-beam
+ url = git://dev.c-base.org/c-beam/c-beam.git
--
cgit v1.2.3
From db1bd874aa518536f81d170facefd75e661afe30 Mon Sep 17 00:00:00 2001
From: tv
Date: Sun, 28 Aug 2011 17:23:45 +0200
Subject: =?UTF-8?q?knut:=20add=20Error=20#1=20=E2=88=A7=20Pro-Tip?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
cholerab/knut/index.js | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/cholerab/knut/index.js b/cholerab/knut/index.js
index 9c536006..b8951f1d 100755
--- a/cholerab/knut/index.js
+++ b/cholerab/knut/index.js
@@ -12,6 +12,16 @@ var spawn = require('child_process').spawn;
var plugs = process.argv.slice(2);
+if (plugs.length === 0) {
+ console.error('Error 1: You are made of stupid!'
+ + '\nPro-Tip: [32m'
+ + require('path').basename(process.argv[1]) + ' [31;1mPLUG[m'
+ + ' # PLUG ∈ {'
+ + require('fs').readdirSync(__dirname + '/plugs').join(',')
+ + '}^n, n ≥ 1');
+ process.exit(23);
+};
+
http.createServer(function (req, res) {
return slurp(req, function (data) {
try {
--
cgit v1.2.3
From 8c521570fe1ff45c22aa1a4c7f93538841fc1665 Mon Sep 17 00:00:00 2001
From: tv
Date: Sun, 28 Aug 2011 17:25:18 +0200
Subject: cholerab cnot: bail out on bad response
With this commit the curl_flags environmental variable is used to
override the default flags to curl (which are -fsS ATM).
---
cholerab/knut/clients/cnot/index | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cholerab/knut/clients/cnot/index b/cholerab/knut/clients/cnot/index
index f276dd25..fcbef73e 100755
--- a/cholerab/knut/clients/cnot/index
+++ b/cholerab/knut/clients/cnot/index
@@ -11,7 +11,7 @@ port=42101
params="$*"
-flags=-sS
+flags=${curl_flags--fsS}
if test "${verbose-no}" != no; then
flags="${flags+$flags }-v"
--
cgit v1.2.3
--
cgit v1.2.3
--
cgit v1.2.3
--
cgit v1.2.3
--
cgit v1.2.3
--
cgit v1.2.3
--
cgit v1.2.3
--
cgit v1.2.3
--
cgit v1.2.3
--
cgit v1.2.3
From d8f2dd18038ef9501c5a0a5042d4c52b6edd9996 Mon Sep 17 00:00:00 2001
From: jvanvinkenroye
Date: Mon, 29 Aug 2011 20:01:33 +0300
Subject: Added Tormented Radio http://www.tormentedradio.com/
---
streams/stream.db | 1 +
1 file changed, 1 insertion(+)
diff --git a/streams/stream.db b/streams/stream.db
index 34acaa71..5efeb9ea 100644
--- a/streams/stream.db
+++ b/streams/stream.db
@@ -5,3 +5,4 @@ http://bassdrive.com/v2/streams/BassDrive.pls bassdrive
http://somafm.com/illstreet.pls illstreet
http://localhost:8000/stream.ogg icecast
http://stream2.jungletrain.net:8000 jungletrain
+http://playlist.tormentedradio.com/tormentedradio.pls tormented
--
cgit v1.2.3
From bbc6bff38e0e87f46e57fadba7740911f663c1c5 Mon Sep 17 00:00:00 2001
From: jvanvinkenroye
Date: Mon, 29 Aug 2011 20:01:33 +0300
Subject: Added Tormented Radio http://www.tormentedradio.com/
---
streams/stream.db | 1 +
1 file changed, 1 insertion(+)
diff --git a/streams/stream.db b/streams/stream.db
index 34acaa71..5efeb9ea 100644
--- a/streams/stream.db
+++ b/streams/stream.db
@@ -5,3 +5,4 @@ http://bassdrive.com/v2/streams/BassDrive.pls bassdrive
http://somafm.com/illstreet.pls illstreet
http://localhost:8000/stream.ogg icecast
http://stream2.jungletrain.net:8000 jungletrain
+http://playlist.tormentedradio.com/tormentedradio.pls tormented
--
cgit v1.2.3
From b2d864b10c9924861f9684bfc9f232f7d6c5cadb Mon Sep 17 00:00:00 2001
From: makefu
Date: Mon, 29 Aug 2011 13:30:51 +0200
Subject: fix dpfhack_display now as submodule
Conflicts:
.gitmodules
oncology/dpfhack_display
---
.gitmodules | 3 +++
oncology/dpfhack_display | 1 +
submodules/github/makefu/dpfhack_display | 1 +
3 files changed, 5 insertions(+)
create mode 120000 oncology/dpfhack_display
create mode 160000 submodules/github/makefu/dpfhack_display
diff --git a/.gitmodules b/.gitmodules
index ab38c084..cbc61522 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -16,3 +16,6 @@
[submodule "krebsbeam/c-beam"]
path = krebsbeam/c-beam
url = git://dev.c-base.org/c-beam/c-beam.git
+[submodule "submodules/github/makefu/dpfhack_display"]
+ path = submodules/github/makefu/dpfhack_display
+ url = https://github.com/makefu/dpfhack_pearl
diff --git a/oncology/dpfhack_display b/oncology/dpfhack_display
new file mode 120000
index 00000000..9666b7bc
--- /dev/null
+++ b/oncology/dpfhack_display
@@ -0,0 +1 @@
+../submodules/github/makefu/dpfhack_display
\ No newline at end of file
diff --git a/submodules/github/makefu/dpfhack_display b/submodules/github/makefu/dpfhack_display
new file mode 160000
index 00000000..c66acd31
--- /dev/null
+++ b/submodules/github/makefu/dpfhack_display
@@ -0,0 +1 @@
+Subproject commit c66acd31125dc18bc2638569d6ba081f21bcef50
--
cgit v1.2.3
From 77d4efad2e89fe9357b10b1bd173fbded82468fe Mon Sep 17 00:00:00 2001
From: Momo
Date: Mon, 29 Aug 2011 15:35:03 +0200
Subject: sascha, moritz -> -j
---
cholerab/shirts/bestellliste | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/cholerab/shirts/bestellliste b/cholerab/shirts/bestellliste
index f775514e..cfb28888 100644
--- a/cholerab/shirts/bestellliste
+++ b/cholerab/shirts/bestellliste
@@ -16,8 +16,8 @@ Jan 1 2 jj /* bezahlt an makefu */ Zitrone waere leckerer gewesen
Ronny 1 M jj /* bezahlt an pfleidi */
Marc 1 L --
Lotho 1 X --
-Sascha 1 X --
-Moritz 1 M --
+Sascha 1 X -j
+Moritz 1 M -j
RIPE 1 X --
kh 1 L jj gute Verarbeitung, guter Gesamteindruck, passt wie angegossen
miefda 1 L jj
--
cgit v1.2.3
From 2864df44d167066d1e409afc817cbcb56f350bb9 Mon Sep 17 00:00:00 2001
From: tv
Date: Mon, 29 Aug 2011 22:41:38 +0200
Subject: cholerab cockbook git remove-submodule: init
---
cholerab/cockbook/git/remove-submodule | 5 +++++
1 file changed, 5 insertions(+)
create mode 100644 cholerab/cockbook/git/remove-submodule
diff --git a/cholerab/cockbook/git/remove-submodule b/cholerab/cockbook/git/remove-submodule
new file mode 100644
index 00000000..da8a1b00
--- /dev/null
+++ b/cholerab/cockbook/git/remove-submodule
@@ -0,0 +1,5 @@
+Delete the relevant line from the .gitmodules file.
+Delete the relevant section from .git/config.
+Run git rm --cached path_to_submodule (no trailing slash).
+Commit and delete the now untracked submodule files.
+
--
cgit v1.2.3
From 113d54f5243f68be7620b22b5651400d07af36d2 Mon Sep 17 00:00:00 2001
From: tv
Date: Tue, 30 Aug 2011 12:37:14 +0200
Subject: util hrefs: initial commit
The hrefs util extracts hrefs from html-stdin... we could use query for
this kind of extraction but hrefs is older and works already as fast as
light.. not^_^
---
util/bin/hrefs | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
create mode 100755 util/bin/hrefs
diff --git a/util/bin/hrefs b/util/bin/hrefs
new file mode 100755
index 00000000..3a1a51de
--- /dev/null
+++ b/util/bin/hrefs
@@ -0,0 +1,20 @@
+#! /bin/sh
+
+_hrefs() {
+ sed -n 's/href="\([^"]\+\)"/\n&\n/gp' |
+ sed -n 's/^href="\([^"]\+\)"$/\1/p'; }
+
+_add_prefix_to_relative_hrefs() {
+ sed '/^http:/!s^'"$1"''; }
+
+_main() {
+ case $# in
+ (0) _hrefs;;
+ (1) _hrefs | _add_prefix_to_relative_hrefs "$1";;
+ (*)
+ echo "bad command line: $0 $*" >&2; exit 23;;
+ esac; }
+
+set -euf
+_main "$@"
+#### end of file.
--
cgit v1.2.3
From b1f0a73e5810aed4fd78aad2bb55a8a67f76df5d Mon Sep 17 00:00:00 2001
From: tv
Date: Tue, 30 Aug 2011 13:08:53 +0200
Subject: krebsshirts: tv += Kommentar
---
cholerab/shirts/bestellliste | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cholerab/shirts/bestellliste b/cholerab/shirts/bestellliste
index f775514e..f1f423e1 100644
--- a/cholerab/shirts/bestellliste
+++ b/cholerab/shirts/bestellliste
@@ -1,5 +1,5 @@
# S G∃ Feedback
-tv 2 M j-
+tv 2 M jj Superdick aufgetragenes Gummifetisch Logo; Farbe: genial
1 S j-
ulrich 1 M ?j gut
felix 2 M jj super qualitaet, sogar nach dem waschen kein bisschen ausgebleicht
--
cgit v1.2.3
From 86b207f5cf9cb90ff1b37f90818b313f18cb1701 Mon Sep 17 00:00:00 2001
From: tv
Date: Tue, 30 Aug 2011 16:30:22 +0200
Subject: //node/install: initial commit
This is because make IMOS! fucker... Now everything should be
enterprise, lol^_^
---
node/Makefile | 44 +++------------------------------
node/install | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 82 insertions(+), 41 deletions(-)
create mode 100755 node/install
diff --git a/node/Makefile b/node/Makefile
index 0b7775ed..cbfa1e4a 100644
--- a/node/Makefile
+++ b/node/Makefile
@@ -1,46 +1,8 @@
-ifndef version
- version := $(shell \
- curl -sS http://nodejs.org/ | \
- ../util/bin/hrefs | \
- sed -rn 's:.*node-(v[0-9.]+)\.tar\.gz:\1:p' | \
- sort | \
- tail -n 1)
-endif
-
-export CPPFLAGS := -Wno-unused-but-set-variable
-
-.PHONY: all build install
+.PHONY: all install
all:
@echo "You are made of stupid!"; exit 23
-build: out/node-$(version)
-
-install: out/node-$(version)
- ln -vsnf ../node/$/dev/null
+}
+if ! is_downloaded; then
+ download
+ if ! is_downloaded; then
+ rm -f $distfile
+ download
+ fi
+ if ! is_downloaded; then
+ rm -f $distfile
+ echo failed to download distfile
+ exit 1
+ fi
+fi
+
+if ! zcat $distfile | tar -x --keep-newer-files 2>/dev/null; then
+ rm -fR $target
+ zcat $distfile | tar -x
+fi
+
+cd ..
+
+prefix=out/$target
+mkdir -p $prefix
+prefix=`readlink -f $prefix`
+
+cd src/$target
+./configure --prefix=$prefix
+CPPFLAGS=-Wno-unused-but-set-variable make
+make install
+cd ../..
+
+ln -snf ../node/out/$target/bin/node ../bin/node
--
cgit v1.2.3
From cde7e260d8edbb5a964ee147fef82ce643c65885 Mon Sep 17 00:00:00 2001
From: tv
Date: Tue, 30 Aug 2011 16:47:44 +0200
Subject: AGENDA{.cccamp11,}: -ttycnser +exedirs +//
---
cholerab/AGENDA | 105 +++++++++++++++++++++++++++++++++++++++++++++++
cholerab/AGENDA.cccamp11 | 101 ---------------------------------------------
2 files changed, 105 insertions(+), 101 deletions(-)
create mode 100644 cholerab/AGENDA
delete mode 100644 cholerab/AGENDA.cccamp11
diff --git a/cholerab/AGENDA b/cholerab/AGENDA
new file mode 100644
index 00000000..26e72cdf
--- /dev/null
+++ b/cholerab/AGENDA
@@ -0,0 +1,105 @@
+
+- krebs
+ - krebs.no.de/hosts.tar automatic via github POST hook
+ - same for supernode updates [vs. cron]
+ - krebscode/painload/supernode/foo
+
+ - overall
+ - krebs/bin at the end of PATH
+
+ - natural voices
+ - unify with translate.google
+ - differences:
+ - url
+ - form data
+ - query args
+ - make-based installer for voice-symlinks
+
+ - ttycnser
+ - client component
+ - ttycnser (makefu)
+ DONE - Python Notification (makefu)
+ - growl (pfleidi)
+
+ - krebs rebootstrapping
+ DONE - curl painload.retiolum | sh
+ [- git clone https://github.com/kreingbscode/painload /krebs]
+ [- /krebs/boot] (makefu)
+ - krebs rebootstrapping
+ - server, der ein shellscript [wenn User-Agent: curl/wget ist] ausgibt] (tv)
+ - painload/{component}/krebs.manifest
+ - welche kategorie: gutartig, boesartig,auf toeten eingestellt, optional
+ DONE - interactive-foo, der am Anfang durchgespielt werden muss
+ - danach darf er nciht mehr sucken, und muss das richtige tun
+ - initiale config file via $EDITOR
+ - config auswerten
+
+ - gutartiger Krebs
+ - retiolum
+ - tinc Installation (via punani)
+ - tinc Konfiguration
+ - update-hosts magic
+ - keys und shit
+ - autostart
+ - Kooperativer NetworkEngineer (rtjure)
+ - retiolumd refactoren
+ - wenn lokale, direkte Verbindung moeglich, dann die nutzen
+ - [cholerab]
+ - CI
+ - issue, issue.tail [etc?] [bku der alten issue]
+ - ftp MOTD
+ - sound theme [see beeps below]
+ - append to PATH
+
+ [- boesartiger Krebs]
+ - public keys installieren
+ - public keys updaten [via github]
+
+ - Enterprisename for serious business
+ - kcpl [pronounce: krepel]
+
+ - p wie punani "hard-install"
+ - merge painload/host
+
+ - gitolite module
+ - ein richtiges /krebs sollte alle peers als remotes haben, sodass
+ man csay makefu: git pull also/blah etc. machen kann.
+
+ - git hooks
+ - Error 1: "Keyword-ratio below 9k"
+ - keyword file
+ - <-- tinc tar file updaten
+
+ - default configuration for $EDITOR & co.
+
+ - Refactort git-eternal-move: use find instead of mv
+ - make it not suck, e.g. do the right thing (currently NOT)
+
+ - NetworkEngineer
+ - kill and replace NetworkManager
+ - mimic NetworkManager but discard all inputs and do the right thing
+ - stay connected to retiolum by any means necessary
+ - keywords:
+ - rpc: irc, cholerab, espeak / beep
+ - iptables
+
+ - thinkabout: util/bin vs {component-like-webcams}
+
+ - beeps
+ - on ssh activity
+
+ - POSIX-sh krebs harder
+ - http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html
+
+ - clive
+ - ccat from [what...] - receive a message from (vs. cget)
+ - cput (vs. cnot)
+ - cping, cpong
+
+ - recursiv make
+
+ - exedirs
+
+ - //-integration
+ - libc?
+ - sh?
diff --git a/cholerab/AGENDA.cccamp11 b/cholerab/AGENDA.cccamp11
deleted file mode 100644
index 7bdf02a3..00000000
--- a/cholerab/AGENDA.cccamp11
+++ /dev/null
@@ -1,101 +0,0 @@
-
-- krebs
- - krebs.no.de/hosts.tar automatic via github POST hook
- - same for supernode updates [vs. cron]
- - krebscode/painload/supernode/foo
-
- - overall
- - krebs/bin at the end of PATH
-
- - natural voices
- - unify with translate.google
- - differences:
- - url
- - form data
- - query args
- - make-based installer for voice-symlinks
-
- - ttycnser
- - server component
- - JSON-RPC [spec and implementation]
- - client component
- - ttycnser (makefu)
- DONE - Python Notification (makefu)
- - growl (pfleidi)
-
- - krebs rebootstrapping
- DONE - curl painload.retiolum | sh
- [- git clone https://github.com/kreingbscode/painload /krebs]
- [- /krebs/boot] (makefu)
- - krebs rebootstrapping
- - server, der ein shellscript [wenn User-Agent: curl/wget ist] ausgibt] (tv)
- - painload/{component}/krebs.manifest
- - welche kategorie: gutartig, boesartig,auf toeten eingestellt, optional
- DONE - interactive-foo, der am Anfang durchgespielt werden muss
- - danach darf er nciht mehr sucken, und muss das richtige tun
- - initiale config file via $EDITOR
- - config auswerten
-
- - gutartiger Krebs
- - retiolum
- - tinc Installation (via punani)
- - tinc Konfiguration
- - update-hosts magic
- - keys und shit
- - autostart
- - Kooperativer NetworkEngineer (rtjure)
- - retiolumd refactoren
- - wenn lokale, direkte Verbindung moeglich, dann die nutzen
- - [cholerab]
- - CI
- - issue, issue.tail [etc?] [bku der alten issue]
- - ftp MOTD
- - sound theme [see beeps below]
- - append to PATH
-
- [- boesartiger Krebs]
- - public keys installieren
- - public keys updaten [via github]
-
- - Enterprisename for serious business
- - kcpl [pronounce: krepel]
-
- - p wie punani "hard-install"
- - merge painload/host
-
- - gitolite module
- - ein richtiges /krebs sollte alle peers als remotes haben, sodass
- man csay makefu: git pull also/blah etc. machen kann.
-
- - git hooks
- - Error 1: "Keyword-ratio below 9k"
- - keyword file
- - <-- tinc tar file updaten
-
- - default configuration for $EDITOR & co.
-
- - Refactort git-eternal-move: use find instead of mv
- - make it not suck, e.g. do the right thing (currently NOT)
-
- - NetworkEngineer
- - kill and replace NetworkManager
- - mimic NetworkManager but discard all inputs and do the right thing
- - stay connected to retiolum by any means necessary
- - keywords:
- - rpc: irc, cholerab, espeak / beep
- - iptables
-
- - thinkabout: util/bin vs {component-like-webcams}
-
- - beeps
- - on ssh activity
-
- - POSIX-sh krebs harder
- - http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html
-
- - clive
- - ccat from [what...] - receive a message from (vs. cget)
- - cput (vs. cnot)
- - cping, cpong
-
- - recursiv make
--
cgit v1.2.3
From cf46dbc53b36772fb0461b9451337c118e705c55 Mon Sep 17 00:00:00 2001
From: tv
Date: Tue, 30 Aug 2011 16:51:52 +0200
Subject: AGENDA: +//Schnabeltasse,wgrep-_-
---
cholerab/AGENDA | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/cholerab/AGENDA b/cholerab/AGENDA
index 26e72cdf..8c80be0d 100644
--- a/cholerab/AGENDA
+++ b/cholerab/AGENDA
@@ -103,3 +103,7 @@
- //-integration
- libc?
- sh?
+
+ - //Schnabeltasse
+
+ - wgrep
--
cgit v1.2.3
From b074075c58ea664e858b06f03409338e2c3e6dc9 Mon Sep 17 00:00:00 2001
From: EUcancER
Date: Wed, 31 Aug 2011 13:31:18 +0200
Subject: gold/scoreboard: initial commit
Add a copy/paste branch of the original btc_logger. I couldn't import
the whole repo as it contains tons of passwords and keys (which is not a
good thing as these are somewhat special for me :)
scoreboard contains a number of modules which do a number of things:
ati_temper: log temperature data of an ati_temper enabled host :
see //gold/miner/bin/ati_temper
solidcoin : graph solidcoin informations
bitcoin : s.a.
In addition to that live stats are generated by the script
//gold/scoreboard/profile contains all the important paths and variables
which are sourced by the modules. In a new installation this file needs
to be customized.
//gold/scoreboard/util/schedule_logger is the scheduler for generating
the graphs every 5 minutes.
you will need to run /modules/available/$MODULE/init before using the
scoreboard as a whole.
the modules directory is still a bit cluttered, sorry about that.
---
gold/scoreboard/.gitignore | 3 +
gold/scoreboard/README | 15 ++
gold/scoreboard/modules/active/bitcoin | 1 +
gold/scoreboard/modules/active/chinaman_temper | 1 +
gold/scoreboard/modules/active/solidcoin | 1 +
.../scoreboard/modules/available/ati_temper/gather | 14 ++
gold/scoreboard/modules/available/ati_temper/index | 4 +
gold/scoreboard/modules/available/ati_temper/init | 25 +++
gold/scoreboard/modules/available/ati_temper/plot | 10 ++
gold/scoreboard/modules/available/bitcoin/gather | 12 ++
gold/scoreboard/modules/available/bitcoin/index | 4 +
gold/scoreboard/modules/available/bitcoin/init | 47 +++++
gold/scoreboard/modules/available/bitcoin/plot | 11 ++
gold/scoreboard/modules/available/bitcoin/render | 10 ++
.../available/bitcoinpool/bitcoinpool_stats | 11 ++
.../modules/available/bitcoinslc/bitcoinslc_live | 8 +
.../modules/available/bitcoinslc/bitcoinslc_stats | 18 ++
.../modules/available/btcguild/btcguild_stats | 22 +++
.../modules/available/btcguild/btcguild_stats_self | 15 ++
gold/scoreboard/modules/available/create_gnuplot | 196 +++++++++++++++++++++
gold/scoreboard/modules/available/solidcoin/gather | 12 ++
gold/scoreboard/modules/available/solidcoin/index | 4 +
gold/scoreboard/modules/available/solidcoin/init | 47 +++++
gold/scoreboard/modules/available/solidcoin/plot | 11 ++
gold/scoreboard/modules/available/solidcoin/render | 10 ++
gold/scoreboard/modules/available/static/init | 32 ++++
gold/scoreboard/profile | 26 +++
gold/scoreboard/util/run-folder | 6 +
gold/scoreboard/util/schedule_logger | 13 ++
29 files changed, 589 insertions(+)
create mode 100644 gold/scoreboard/.gitignore
create mode 100644 gold/scoreboard/README
create mode 120000 gold/scoreboard/modules/active/bitcoin
create mode 120000 gold/scoreboard/modules/active/chinaman_temper
create mode 120000 gold/scoreboard/modules/active/solidcoin
create mode 100755 gold/scoreboard/modules/available/ati_temper/gather
create mode 100755 gold/scoreboard/modules/available/ati_temper/index
create mode 100755 gold/scoreboard/modules/available/ati_temper/init
create mode 100755 gold/scoreboard/modules/available/ati_temper/plot
create mode 100755 gold/scoreboard/modules/available/bitcoin/gather
create mode 100755 gold/scoreboard/modules/available/bitcoin/index
create mode 100755 gold/scoreboard/modules/available/bitcoin/init
create mode 100755 gold/scoreboard/modules/available/bitcoin/plot
create mode 100644 gold/scoreboard/modules/available/bitcoin/render
create mode 100755 gold/scoreboard/modules/available/bitcoinpool/bitcoinpool_stats
create mode 100755 gold/scoreboard/modules/available/bitcoinslc/bitcoinslc_live
create mode 100755 gold/scoreboard/modules/available/bitcoinslc/bitcoinslc_stats
create mode 100755 gold/scoreboard/modules/available/btcguild/btcguild_stats
create mode 100755 gold/scoreboard/modules/available/btcguild/btcguild_stats_self
create mode 100755 gold/scoreboard/modules/available/create_gnuplot
create mode 100755 gold/scoreboard/modules/available/solidcoin/gather
create mode 100755 gold/scoreboard/modules/available/solidcoin/index
create mode 100755 gold/scoreboard/modules/available/solidcoin/init
create mode 100755 gold/scoreboard/modules/available/solidcoin/plot
create mode 100644 gold/scoreboard/modules/available/solidcoin/render
create mode 100755 gold/scoreboard/modules/available/static/init
create mode 100644 gold/scoreboard/profile
create mode 100755 gold/scoreboard/util/run-folder
create mode 100755 gold/scoreboard/util/schedule_logger
diff --git a/gold/scoreboard/.gitignore b/gold/scoreboard/.gitignore
new file mode 100644
index 00000000..657e895d
--- /dev/null
+++ b/gold/scoreboard/.gitignore
@@ -0,0 +1,3 @@
+/plot/
+/profile
+/archive/
diff --git a/gold/scoreboard/README b/gold/scoreboard/README
new file mode 100644
index 00000000..180cbd0d
--- /dev/null
+++ b/gold/scoreboard/README
@@ -0,0 +1,15 @@
+Scoreboard
+==========
+a non-interactive gold logger/plotter
+
+Install
+======
+* install lighttpd
+* configure the profile template file accordingly
+* [currently] do:
+ cd modules/available/ ati_temper; $EDITOR gather # change the host
+ * add the host key file to keys/
+* [currently] run:
+ modules/available/{ati_temper,bitcoin,solidcoin,static}/init
+* run:
+ util/schedule_logger
diff --git a/gold/scoreboard/modules/active/bitcoin b/gold/scoreboard/modules/active/bitcoin
new file mode 120000
index 00000000..86564edb
--- /dev/null
+++ b/gold/scoreboard/modules/active/bitcoin
@@ -0,0 +1 @@
+/root/btc_logger/modules/available/bitcoin/index
\ No newline at end of file
diff --git a/gold/scoreboard/modules/active/chinaman_temper b/gold/scoreboard/modules/active/chinaman_temper
new file mode 120000
index 00000000..31935833
--- /dev/null
+++ b/gold/scoreboard/modules/active/chinaman_temper
@@ -0,0 +1 @@
+/root/btc_logger/modules/available/ati_temper/index
\ No newline at end of file
diff --git a/gold/scoreboard/modules/active/solidcoin b/gold/scoreboard/modules/active/solidcoin
new file mode 120000
index 00000000..0062d804
--- /dev/null
+++ b/gold/scoreboard/modules/active/solidcoin
@@ -0,0 +1 @@
+/root/btc_logger/modules/available/solidcoin/index
\ No newline at end of file
diff --git a/gold/scoreboard/modules/available/ati_temper/gather b/gold/scoreboard/modules/available/ati_temper/gather
new file mode 100755
index 00000000..15f0b4f2
--- /dev/null
+++ b/gold/scoreboard/modules/available/ati_temper/gather
@@ -0,0 +1,14 @@
+#!/bin/sh
+HERE=$(dirname $(readlink -f $0))
+. $HERE/../../../profile
+
+# machine to check for
+MACHINE=chinaman
+MACHINE_KEY=$MDIR/keys/$MACHINE
+LF=${MACHINE}_ati_temper
+mkdir -p $ADIR
+mkdir -p $LDIR
+
+# write into live directory and archive
+[ ! -e $MACHINE_KEY ] && echo "No Key for $MACHINE" && exit 1
+echo "$(date +%Y-%m-%dT%H:%M:%S) $(ssh -i $MACHINE_KEY worker@$MACHINE '~/bin/ati_temper')" | tee $LDIR/$LF >> $ADIR/$LF
diff --git a/gold/scoreboard/modules/available/ati_temper/index b/gold/scoreboard/modules/available/ati_temper/index
new file mode 100755
index 00000000..19c21825
--- /dev/null
+++ b/gold/scoreboard/modules/available/ati_temper/index
@@ -0,0 +1,4 @@
+#!/bin/sh
+HERE=$(dirname $(readlink -f $0))
+$HERE/gather
+$HERE/plot
diff --git a/gold/scoreboard/modules/available/ati_temper/init b/gold/scoreboard/modules/available/ati_temper/init
new file mode 100755
index 00000000..88a0ed10
--- /dev/null
+++ b/gold/scoreboard/modules/available/ati_temper/init
@@ -0,0 +1,25 @@
+#!/bin/sh
+#set -x
+HERE=$(dirname $(readlink -f $0))
+. $HERE/../../../profile
+mkdir -p $PDIR
+cat > $PDIR/chinaman.conf <$PDIR/chinaman_last_day.conf
diff --git a/gold/scoreboard/modules/available/ati_temper/plot b/gold/scoreboard/modules/available/ati_temper/plot
new file mode 100755
index 00000000..06f20c24
--- /dev/null
+++ b/gold/scoreboard/modules/available/ati_temper/plot
@@ -0,0 +1,10 @@
+#!/bin/sh
+#set -x
+HERE=$(dirname $(readlink -f $0))
+. $HERE/../../../profile
+umask 000
+export GDFONTPATH=/usr/share/fonts/truetype/msttcorefonts
+mkdir -p $GDIR
+gnuplot $PDIR/chinaman.conf> $GDIR/chinaman_overall.png
+tail -n288 $ADIR/chinaman_ati_temper > $ADIR/chinaman_last_day
+gnuplot $PDIR/chinaman_last_day.conf > $GDIR/chinaman_24h.png
diff --git a/gold/scoreboard/modules/available/bitcoin/gather b/gold/scoreboard/modules/available/bitcoin/gather
new file mode 100755
index 00000000..8b996428
--- /dev/null
+++ b/gold/scoreboard/modules/available/bitcoin/gather
@@ -0,0 +1,12 @@
+#!/bin/sh
+HERE=$(dirname $(readlink -f $0))
+. $HERE/../../../profile
+LF=bitcoin
+mkdir -p $ADIR
+mkdir -p $LDIR
+
+
+# write into live directory and archive
+$BITCOIND_PATH getinfo | python $HERE/render | tee $LDIR/$LF >> $ADIR/$LF
+
+echo `date +"%Y-%m-%dT%H:%M:%S"` `$KREBSDIR/bin/mtgox_ticker` | sed -e 's/High: //' -e 's/Low: //' -e 's/Last: //' | tee $LDIR/ticker_${LF}>> $ADIR/ticker_${LF}
diff --git a/gold/scoreboard/modules/available/bitcoin/index b/gold/scoreboard/modules/available/bitcoin/index
new file mode 100755
index 00000000..19c21825
--- /dev/null
+++ b/gold/scoreboard/modules/available/bitcoin/index
@@ -0,0 +1,4 @@
+#!/bin/sh
+HERE=$(dirname $(readlink -f $0))
+$HERE/gather
+$HERE/plot
diff --git a/gold/scoreboard/modules/available/bitcoin/init b/gold/scoreboard/modules/available/bitcoin/init
new file mode 100755
index 00000000..c4ddf32f
--- /dev/null
+++ b/gold/scoreboard/modules/available/bitcoin/init
@@ -0,0 +1,47 @@
+#!/bin/sh
+#set -x
+HERE=$(dirname $(readlink -f $0))
+. $HERE/../../../profile
+mkdir -p $PDIR
+cat > $PDIR/bitcoin.conf <$PDIR/bitcoin_last_day.conf
diff --git a/gold/scoreboard/modules/available/bitcoin/plot b/gold/scoreboard/modules/available/bitcoin/plot
new file mode 100755
index 00000000..209f662c
--- /dev/null
+++ b/gold/scoreboard/modules/available/bitcoin/plot
@@ -0,0 +1,11 @@
+#!/bin/sh
+#set -x
+HERE=$(dirname $(readlink -f $0))
+. $HERE/../../../profile
+umask 000
+export GDFONTPATH=/usr/share/fonts/truetype/msttcorefonts
+mkdir -p $GDIR
+gnuplot $PDIR/bitcoin.conf> $GDIR/bitcoin.png
+tail -n288 $ADIR/bitcoin > $ADIR/bitcoin_last_day
+tail -n288 $ADIR/ticker_bitcoin > $ADIR/ticker_bitcoin_last_day
+gnuplot $PDIR/bitcoin_last_day.conf > $GDIR/bitcoin_24h.png
diff --git a/gold/scoreboard/modules/available/bitcoin/render b/gold/scoreboard/modules/available/bitcoin/render
new file mode 100644
index 00000000..19545b21
--- /dev/null
+++ b/gold/scoreboard/modules/available/bitcoin/render
@@ -0,0 +1,10 @@
+#!/usr/bin/python
+import json,urllib,datetime,sys
+today = datetime.datetime.now()
+
+result = json.load(sys.stdin)
+print today.strftime("%Y-%m-%dT%H:%M:%S"),
+print '%s' % result["blocks"],
+print '%s' % result["difficulty"],
+print '%s' % result["keypoololdest"],
+print '%s' % result["keypoolsize"]
diff --git a/gold/scoreboard/modules/available/bitcoinpool/bitcoinpool_stats b/gold/scoreboard/modules/available/bitcoinpool/bitcoinpool_stats
new file mode 100755
index 00000000..599ef9ff
--- /dev/null
+++ b/gold/scoreboard/modules/available/bitcoinpool/bitcoinpool_stats
@@ -0,0 +1,11 @@
+#!/usr/bin/python2
+import simplejson,urllib,datetime
+url="http://bitcoinpool.com/pooljson.php"
+f = open('/home/makefu/log/bitcoinpool_stats',mode='a')
+today = datetime.datetime.now()
+
+result = simplejson.load(urllib.urlopen(url))
+print >>f, today.strftime("%Y-%m-%dT%H:%M:%S"),
+for k,v in result.iteritems():
+ print >>f ,'%s' % v,
+print >>f
diff --git a/gold/scoreboard/modules/available/bitcoinslc/bitcoinslc_live b/gold/scoreboard/modules/available/bitcoinslc/bitcoinslc_live
new file mode 100755
index 00000000..9fcbc6af
--- /dev/null
+++ b/gold/scoreboard/modules/available/bitcoinslc/bitcoinslc_live
@@ -0,0 +1,8 @@
+#!/bin/sh
+LF=`basename $0`
+token=`curl -A 'Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0' http://www.bitcoins.lc -c cookiejar 2>/dev/null | grep -E '_csrf_token' | tail -n 1 | sed -n 's/.*value="\([0-9a-f]*\)".*/\1/p'`
+
+curl --keepalive -v -A 'Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0' -e http://www.bitcoins.lc/ -d "_csrf_token=$token" -d "action=login" -d "email=$BITCOINSLC_MAIL" -d "password=$BITCOINSLC_PASS" -d "login=Proceed" -b cookiejar -c cookiejar https://www.bitcoins.lc/ -k 2>/dev/null
+#Your current total hashrate
765.94 Mhash/s
+mkdir -p $LDIR
+echo $(date +%Y-%m-%dT%H:%M:%S) `curl -b cookiejar -A 'Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0' https://www.bitcoins.lc/stats --keepalive 2>/dev/null| sed -n 's/.*Your current total hashrate<\/strong>
\([0-9.]*\).*/\1/p'` > $ADIR/chinaman_$LF
diff --git a/gold/scoreboard/modules/available/bitcoinslc/bitcoinslc_stats b/gold/scoreboard/modules/available/bitcoinslc/bitcoinslc_stats
new file mode 100755
index 00000000..29508486
--- /dev/null
+++ b/gold/scoreboard/modules/available/bitcoinslc/bitcoinslc_stats
@@ -0,0 +1,18 @@
+#!/usr/bin/python2
+import simplejson,urllib,datetime,sys
+url="https://www.bitcoins.lc/stats.json"
+f = open(sys.env['ADIR']+'/bitcoinslc_stats',mode='a')
+today = datetime.datetime.now()
+
+result = simplejson.load(urllib.urlopen(url))
+print >>f, today.strftime("%Y-%m-%dT%H:%M:%S"),
+# hash_rate current_block active_workers total_workers total_users round_shares valid_round_shares total_shares
+print >>f , ("%s" % result['hash_rate'] ),
+print >>f , ("%s" % result['current_block'] ),
+print >>f , ("%s" % result['active_workers'] ),
+print >>f , ("%s" % result['total_workers'] ),
+print >>f , ("%s" % result['total_users'] ),
+print >>f , ("%s" % result['round_shares'] ),
+print >>f , ("%s" % result['valid_round_shares'] ),
+print >>f , ("%s" % result['total_shares'] ),
+print >>f
diff --git a/gold/scoreboard/modules/available/btcguild/btcguild_stats b/gold/scoreboard/modules/available/btcguild/btcguild_stats
new file mode 100755
index 00000000..58d72f75
--- /dev/null
+++ b/gold/scoreboard/modules/available/btcguild/btcguild_stats
@@ -0,0 +1,22 @@
+#!/usr/bin/python2
+import simplejson,urllib,datetime
+url="http://www.btcguild.com/pool_stats.php"
+f = open('/home/makefu/log/btcguild_stats',mode='a')
+today = datetime.datetime.now()
+
+result = simplejson.load(urllib.urlopen(url))
+try:
+ print >>f, today.strftime("%Y-%m-%dT%H:%M:%S"),
+ # uk_speed round_time round_shares active_workers useast_speed uscentral_speed uswest_speed hash_rate nl_speed
+ print >>f , ("%s" % '0' ).replace('.',''),
+ print >>f , ("%s" % result['round_time'] ).replace('.',''),
+ print >>f , ("%s" % result['round_shares'] ).replace('.',''),
+ print >>f , ("%s" % result['active_workers'] ).replace('.',''),
+ print >>f , ("%s" % result['useast_speed'] ).replace('.',''),
+ print >>f , ("%s" % result['uscentral_speed'] ).replace('.',''),
+ print >>f , ("%s" % result['uswest_speed'] ).replace('.',''),
+ print >>f , ("%s" % result['hash_rate'] ).replace('.',''),
+ print >>f , ("%s" % 0 ).replace('.',''),
+ print >>f
+except:
+ pass
diff --git a/gold/scoreboard/modules/available/btcguild/btcguild_stats_self b/gold/scoreboard/modules/available/btcguild/btcguild_stats_self
new file mode 100755
index 00000000..9cb65590
--- /dev/null
+++ b/gold/scoreboard/modules/available/btcguild/btcguild_stats_self
@@ -0,0 +1,15 @@
+#!/usr/bin/python2
+import simplejson,urllib,datetime,sys
+url="http://www.btcguild.com/api.php?api_key="+sys.env['BTCGUILD_APIKEY']
+f = open('/home/makefu/log/btcguild_stats_self',mode='a')
+today = datetime.datetime.now()
+
+#result = simplejson.load(urllib.urlopen(url))
+#print >>f, today.strftime("%Y-%m-%dT%H:%M:%S"),
+
+# TODO do the right thing with the data (aka this loop is wrong, fixme
+#for k,v in result.iteritems():
+# data = '%s' % v
+# data = data.replace('.','')
+# print >>f ,data,
+#print >>f
diff --git a/gold/scoreboard/modules/available/create_gnuplot b/gold/scoreboard/modules/available/create_gnuplot
new file mode 100755
index 00000000..95a6d170
--- /dev/null
+++ b/gold/scoreboard/modules/available/create_gnuplot
@@ -0,0 +1,196 @@
+#!/bin/sh
+#set -x
+umask 000
+MDIR=/home/makefu/log
+DDIR=/srv/http/tmp
+mkdir -p $DDIR/graphs
+cat > $DDIR/.htaccess << EOF
+order allow,deny
+allow from all
+EOF
+
+#
+# chinaman
+#
+cat > $MDIR/plot/chinaman.conf <$MDIR/plot/chinaman_last_day.conf
+
+cat $MDIR/plot/chinaman.conf | gnuplot > $DDIR/graphs/chinaman_overall.png
+tail -n288 $MDIR/chinaman_ati_temper > $MDIR/chinaman_last_day
+cat $MDIR/plot/chinaman_last_day.conf | gnuplot > $DDIR/graphs/chinaman_24h.png
+rm $MDIR/chinaman_last_day
+
+#
+#bitcoinpool
+#
+cat > $MDIR/plot/bitcoinpool.conf <$MDIR/plot/bitcoinpool_last_day.conf
+
+cat $MDIR/plot/bitcoinpool.conf | gnuplot > $DDIR/graphs/bitcoinpool.png
+tail -n288 $MDIR/bitcoinpool_stats > $MDIR/bitcoinpool_last_day
+cat $MDIR/plot/bitcoinpool_last_day.conf | gnuplot > $DDIR/graphs/bitcoinpool_24h.png
+rm $MDIR/bitcoinpool_last_day
+
+# uk_speed round_time round_shares active_workers useast_speed uscentral_speed uswest_speed hash_rate nl_speed
+cat > $MDIR/plot/btcguild.conf <$MDIR/plot/btcguild_last_day.conf
+
+gnuplot $MDIR/plot/btcguild.conf > $DDIR/graphs/btcguild.png
+tail -n288 $MDIR/btcguild_stats > $MDIR/btcguild_last_day
+gnuplot $MDIR/plot/btcguild_last_day.conf > $DDIR/graphs/btcguild_24h.png
+rm $MDIR/btcguild_last_day
+
+#
+#bitcoinslc
+#
+cat > $MDIR/plot/bitcoinslc.conf <$MDIR/plot/bitcoinslc_last_day.conf
+
+cat $MDIR/plot/bitcoinslc.conf | gnuplot > $DDIR/graphs/bitcoinslc.png
+tail -n288 $MDIR/bitcoinslc_stats > $MDIR/bitcoinslc_last_day
+cat $MDIR/plot/bitcoinslc_last_day.conf | gnuplot > $DDIR/graphs/bitcoinslc_24h.png
+rm $MDIR/bitcoinslc_last_day
diff --git a/gold/scoreboard/modules/available/solidcoin/gather b/gold/scoreboard/modules/available/solidcoin/gather
new file mode 100755
index 00000000..b4fe81f2
--- /dev/null
+++ b/gold/scoreboard/modules/available/solidcoin/gather
@@ -0,0 +1,12 @@
+#!/bin/sh
+HERE=$(dirname $(readlink -f $0))
+. $HERE/../../../profile
+LF=solidcoin
+mkdir -p $ADIR
+mkdir -p $LDIR
+
+
+# write into live directory and archive
+$SOLIDCOIND_PATH sc_getinfo | python $HERE/render | tee $LDIR/$LF >> $ADIR/$LF
+
+echo `date +"%Y-%m-%dT%H:%M:%S"` `$KREBSDIR/bin/scex_ticker` | sed -e 's/High: //' -e 's/Low: //' -e 's/Last: //' | tee $LDIR/ticker_${LF}>> $ADIR/ticker_${LF}
diff --git a/gold/scoreboard/modules/available/solidcoin/index b/gold/scoreboard/modules/available/solidcoin/index
new file mode 100755
index 00000000..19c21825
--- /dev/null
+++ b/gold/scoreboard/modules/available/solidcoin/index
@@ -0,0 +1,4 @@
+#!/bin/sh
+HERE=$(dirname $(readlink -f $0))
+$HERE/gather
+$HERE/plot
diff --git a/gold/scoreboard/modules/available/solidcoin/init b/gold/scoreboard/modules/available/solidcoin/init
new file mode 100755
index 00000000..c12a6586
--- /dev/null
+++ b/gold/scoreboard/modules/available/solidcoin/init
@@ -0,0 +1,47 @@
+#!/bin/sh
+#set -x
+HERE=$(dirname $(readlink -f $0))
+. $HERE/../../../profile
+mkdir -p $PDIR
+cat > $PDIR/solidcoin.conf <$PDIR/solidcoin_last_day.conf
diff --git a/gold/scoreboard/modules/available/solidcoin/plot b/gold/scoreboard/modules/available/solidcoin/plot
new file mode 100755
index 00000000..d1feae88
--- /dev/null
+++ b/gold/scoreboard/modules/available/solidcoin/plot
@@ -0,0 +1,11 @@
+#!/bin/sh
+#set -x
+HERE=$(dirname $(readlink -f $0))
+. $HERE/../../../profile
+umask 000
+export GDFONTPATH=/usr/share/fonts/truetype/msttcorefonts
+mkdir -p $GDIR
+gnuplot $PDIR/solidcoin.conf> $GDIR/solidcoin.png
+tail -n288 $ADIR/solidcoin > $ADIR/solidcoin_last_day
+tail -n288 $ADIR/ticker_solidcoin > $ADIR/ticker_solidcoin_last_day
+gnuplot $PDIR/solidcoin_last_day.conf > $GDIR/solidcoin_24h.png
diff --git a/gold/scoreboard/modules/available/solidcoin/render b/gold/scoreboard/modules/available/solidcoin/render
new file mode 100644
index 00000000..19545b21
--- /dev/null
+++ b/gold/scoreboard/modules/available/solidcoin/render
@@ -0,0 +1,10 @@
+#!/usr/bin/python
+import json,urllib,datetime,sys
+today = datetime.datetime.now()
+
+result = json.load(sys.stdin)
+print today.strftime("%Y-%m-%dT%H:%M:%S"),
+print '%s' % result["blocks"],
+print '%s' % result["difficulty"],
+print '%s' % result["keypoololdest"],
+print '%s' % result["keypoolsize"]
diff --git a/gold/scoreboard/modules/available/static/init b/gold/scoreboard/modules/available/static/init
new file mode 100755
index 00000000..a7dc8859
--- /dev/null
+++ b/gold/scoreboard/modules/available/static/init
@@ -0,0 +1,32 @@
+#!/bin/sh
+# TODO use active modules to find out which to build
+HERE=$(dirname $(readlink -f $0))
+. $HERE/../../../profile
+cat <$GDIR/index.html
+
+
+ Stats
+
+
+
+
+ Chinaman
+

+ Solidcoin
+

+ Bitcoin
+

+
+
+
+
+EOF
diff --git a/gold/scoreboard/profile b/gold/scoreboard/profile
new file mode 100644
index 00000000..ccd7c2b5
--- /dev/null
+++ b/gold/scoreboard/profile
@@ -0,0 +1,26 @@
+# the webpage directory
+WDIR=/srv/http/tmp
+LDIR=$WDIR/live
+GDIR=$WDIR/graphs/gold
+
+# the root directory
+KREBSDIR=/krebs
+MDIR=$KREBSDIR/gold/scoreboard
+
+# folder where plot configs are written into
+PDIR=$MDIR/plot
+# the archive directory
+ADIR=$MDIR/archive
+
+TEMPDIR=/tmp
+
+# bitcoinslc login/password
+BITCOINSLC_MAIL=
+BITCOINSLC_PASS=
+
+# binaries
+SOLIDCOIND_PATH=/root/bin/solidcoind
+BITCOIND_PATH=/root/bin/bitcoind
+
+# BTCGUILD
+BTCGUILD_APIKEY=
diff --git a/gold/scoreboard/util/run-folder b/gold/scoreboard/util/run-folder
new file mode 100755
index 00000000..ae5c96ac
--- /dev/null
+++ b/gold/scoreboard/util/run-folder
@@ -0,0 +1,6 @@
+#!/bin/sh
+ls -1 $1 | while read script; do
+ echo "Running $script"
+ $1/$script &
+done
+
diff --git a/gold/scoreboard/util/schedule_logger b/gold/scoreboard/util/schedule_logger
new file mode 100755
index 00000000..6d071ba9
--- /dev/null
+++ b/gold/scoreboard/util/schedule_logger
@@ -0,0 +1,13 @@
+#!/bin/sh
+HERE=$(dirname $(readlink -f $0))
+. $HERE/../profile
+RUN_PARTS=$HERE/run-folder
+echo "adding getlogs to crontab"
+
+crontab -l 2>/dev/null | grep -v "$MDIR/modules/active" > $TEMPDIR/currcron
+echo "*/5 * * * * /bin/date >>$TEMPDIR/debug_log && $RUN_PARTS $MDIR/modules/active >>$TEMPDIR/btc_logger_debug_log 2>&1" >> $TEMPDIR/currcron
+
+cat $TEMPDIR/currcron
+
+crontab $TEMPDIR/currcron
+rm $TEMPDIR/currcron
--
cgit v1.2.3
From a001a6f2e5bf9a594e42038f5f7b49381ed8ca04 Mon Sep 17 00:00:00 2001
From: EUcancER
Date: Wed, 31 Aug 2011 14:02:09 +0200
Subject: scoreboard: generalization of modules
symlinks to active will be created when calling init in the modules
ati_temper/init script is more general (holds hostname variable)
update README with last commit message.
---
gold/scoreboard/README | 14 ++++++++++++++
gold/scoreboard/modules/active/.placeholder | 0
gold/scoreboard/modules/active/bitcoin | 1 -
gold/scoreboard/modules/active/chinaman_temper | 1 -
gold/scoreboard/modules/active/solidcoin | 1 -
gold/scoreboard/modules/available/ati_temper/init | 21 ++++++++++++---------
gold/scoreboard/modules/available/bitcoin/init | 1 +
gold/scoreboard/modules/available/bitcoin/render | 2 +-
gold/scoreboard/modules/available/solidcoin/init | 1 +
9 files changed, 29 insertions(+), 13 deletions(-)
create mode 100644 gold/scoreboard/modules/active/.placeholder
delete mode 120000 gold/scoreboard/modules/active/bitcoin
delete mode 120000 gold/scoreboard/modules/active/chinaman_temper
delete mode 120000 gold/scoreboard/modules/active/solidcoin
diff --git a/gold/scoreboard/README b/gold/scoreboard/README
index 180cbd0d..8e59ab03 100644
--- a/gold/scoreboard/README
+++ b/gold/scoreboard/README
@@ -2,6 +2,20 @@ Scoreboard
==========
a non-interactive gold logger/plotter
+scoreboard contains a number of modules which do a number of things:
+ati_temper: log temperature data of an ati_temper enabled host :
+ see //gold/miner/bin/ati_temper
+solidcoin : graph solidcoin informations
+bitcoin : s.a.
+
+//gold/scoreboard/profile contains all the important paths and variables
+which are sourced by the modules. In a new installation this file needs
+to be customized.
+
+//gold/scoreboard/util/schedule_logger is the scheduler for generating
+the graphs every 5 minutes.
+
+
Install
======
* install lighttpd
diff --git a/gold/scoreboard/modules/active/.placeholder b/gold/scoreboard/modules/active/.placeholder
new file mode 100644
index 00000000..e69de29b
diff --git a/gold/scoreboard/modules/active/bitcoin b/gold/scoreboard/modules/active/bitcoin
deleted file mode 120000
index 86564edb..00000000
--- a/gold/scoreboard/modules/active/bitcoin
+++ /dev/null
@@ -1 +0,0 @@
-/root/btc_logger/modules/available/bitcoin/index
\ No newline at end of file
diff --git a/gold/scoreboard/modules/active/chinaman_temper b/gold/scoreboard/modules/active/chinaman_temper
deleted file mode 120000
index 31935833..00000000
--- a/gold/scoreboard/modules/active/chinaman_temper
+++ /dev/null
@@ -1 +0,0 @@
-/root/btc_logger/modules/available/ati_temper/index
\ No newline at end of file
diff --git a/gold/scoreboard/modules/active/solidcoin b/gold/scoreboard/modules/active/solidcoin
deleted file mode 120000
index 0062d804..00000000
--- a/gold/scoreboard/modules/active/solidcoin
+++ /dev/null
@@ -1 +0,0 @@
-/root/btc_logger/modules/available/solidcoin/index
\ No newline at end of file
diff --git a/gold/scoreboard/modules/available/ati_temper/init b/gold/scoreboard/modules/available/ati_temper/init
index 88a0ed10..af99bfbb 100755
--- a/gold/scoreboard/modules/available/ati_temper/init
+++ b/gold/scoreboard/modules/available/ati_temper/init
@@ -2,24 +2,27 @@
#set -x
HERE=$(dirname $(readlink -f $0))
. $HERE/../../../profile
+MACHINE=chinaman
+ln -s $HERE/index $HERE/../../active/${MACHINE}_ati_temper
mkdir -p $PDIR
-cat > $PDIR/chinaman.conf < $PDIR/$MACHINE.conf <$PDIR/chinaman_last_day.conf
+ -e "s/set title.*/set title \"${MACHINE} 24 hours Temperature\"/" \
+ -e "s/${MACHINE}_ati_temper/${MACHINE}_last_day/g" \
+ $PDIR/${MACHINE}.conf >$PDIR/${MACHINE}_last_day.conf
+
diff --git a/gold/scoreboard/modules/available/bitcoin/init b/gold/scoreboard/modules/available/bitcoin/init
index c4ddf32f..cc5688bd 100755
--- a/gold/scoreboard/modules/available/bitcoin/init
+++ b/gold/scoreboard/modules/available/bitcoin/init
@@ -3,6 +3,7 @@
HERE=$(dirname $(readlink -f $0))
. $HERE/../../../profile
mkdir -p $PDIR
+ln -s $HERE/index $HERE/../../active/bitcoin
cat > $PDIR/bitcoin.conf < $PDIR/solidcoin.conf <
Date: Wed, 31 Aug 2011 23:49:52 +0200
Subject: //god/Reaktor: initial commit
---
god/Reaktor | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100755 god/Reaktor
diff --git a/god/Reaktor b/god/Reaktor
new file mode 100755
index 00000000..54bc5099
--- /dev/null
+++ b/god/Reaktor
@@ -0,0 +1,22 @@
+#! /usr/bin/env python
+
+import socket
+from struct import unpack
+
+listen_address = '0.0.0.0'
+listen_port = 2342
+
+# create udp socket
+mysocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
+
+# allow send/recieve from broacast address
+mysocket.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,1)
+
+# allow the socket to be re-used
+mysocket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
+mysocket.bind((listen_address, listen_port))
+
+while True:
+ dev, state = unpack('BB', mysocket.recv(2))
+ print "dev: " + str(dev)
+ print "state: " + str(state)
--
cgit v1.2.3
From 30a52fcf18f073e65c81811e1fe93c87bf1cdd54 Mon Sep 17 00:00:00 2001
From: tv
Date: Thu, 1 Sep 2011 00:31:07 +0200
Subject: Reaktor: add shackspace map
---
god/Reaktor | 44 ++++++++++++++++++++++++++++++++++++--------
1 file changed, 36 insertions(+), 8 deletions(-)
diff --git a/god/Reaktor b/god/Reaktor
index 54bc5099..47d2d7c9 100755
--- a/god/Reaktor
+++ b/god/Reaktor
@@ -1,11 +1,36 @@
-#! /usr/bin/env python
+#! /usr/bin/env python2
+# coding=UTF-8
+location = 'shackspace'
+host = '0.0.0.0'
+port = 2342
+
+map = {
+ 'shackspace': {
+ 'device': {
+ 0: 'Licht0, Tensau\'s Kuschelecke; Fenster',
+ 1: 'Licht1, Sofaecke; Fenster',
+ 2: 'Licht2, Tensau\'s Kuschelecke; Ghetto',
+ 3: 'Licht3, Sofaecke; Ghetto',
+ 4: 'Licht4, Richtung Getränkelager',
+ 5: 'Licht5, Porschekonsole',
+ 6: 'Licht6, Tomatenecke',
+ 7: 'Licht7, Ghetto',
+ 10: 'Hauptschalter'
+ },
+ 'state': {
+ 0: 'aus',
+ 1: 'an',
+ 2: 'aus in T-10s'
+ },
+ '->': 'ist'
+ }
+}
+
import socket
+from string import join
from struct import unpack
-listen_address = '0.0.0.0'
-listen_port = 2342
-
# create udp socket
mysocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
@@ -14,9 +39,12 @@ mysocket.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,1)
# allow the socket to be re-used
mysocket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
-mysocket.bind((listen_address, listen_port))
+mysocket.bind((host, port))
+
+map = map[location]
while True:
- dev, state = unpack('BB', mysocket.recv(2))
- print "dev: " + str(dev)
- print "state: " + str(state)
+ did, sid = unpack('BB', mysocket.recv(2))
+ device, state = map['device'][did], map['state'][sid]
+ arrow = map['->']
+ print join([device, arrow, state], ' ')
--
cgit v1.2.3
From 5e7bbf0c4b53a73e3f0bb7e53cbd8bb97c3187cd Mon Sep 17 00:00:00 2001
From: tv
Date: Thu, 1 Sep 2011 01:52:31 +0200
Subject: Reaktor: Tensau's Ecke ist die Zickenzone
---
god/Reaktor | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/god/Reaktor b/god/Reaktor
index 47d2d7c9..9708d9bc 100755
--- a/god/Reaktor
+++ b/god/Reaktor
@@ -8,9 +8,9 @@ port = 2342
map = {
'shackspace': {
'device': {
- 0: 'Licht0, Tensau\'s Kuschelecke; Fenster',
+ 0: 'Licht0, Zickenzone; Fenster',
1: 'Licht1, Sofaecke; Fenster',
- 2: 'Licht2, Tensau\'s Kuschelecke; Ghetto',
+ 2: 'Licht2, Zickenzone; Ghetto',
3: 'Licht3, Sofaecke; Ghetto',
4: 'Licht4, Richtung Getränkelager',
5: 'Licht5, Porschekonsole',
--
cgit v1.2.3
From 4fb37da707279faf92cc8a054c646336f23dfdbe Mon Sep 17 00:00:00 2001
From: tv
Date: Thu, 1 Sep 2011 02:20:34 +0200
Subject: //god/Reaktor/index: initial commit
This wrapper script downloads and configures jsonbot as necessary.
---
.gitignore | 1 +
god/Reaktor | 50 ---------------------------------------------
god/Reaktor/index | 36 ++++++++++++++++++++++++++++++++
god/Reaktor/lib/listener.py | 50 +++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 87 insertions(+), 50 deletions(-)
delete mode 100755 god/Reaktor
create mode 100755 god/Reaktor/index
create mode 100755 god/Reaktor/lib/listener.py
diff --git a/.gitignore b/.gitignore
index ee908b65..2c765648 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,7 @@ a.out
*.o
*.a
.svn/
+/god/Reaktor/tmp/
/bin/
/node/src
/node/out
diff --git a/god/Reaktor b/god/Reaktor
deleted file mode 100755
index 9708d9bc..00000000
--- a/god/Reaktor
+++ /dev/null
@@ -1,50 +0,0 @@
-#! /usr/bin/env python2
-# coding=UTF-8
-
-location = 'shackspace'
-host = '0.0.0.0'
-port = 2342
-
-map = {
- 'shackspace': {
- 'device': {
- 0: 'Licht0, Zickenzone; Fenster',
- 1: 'Licht1, Sofaecke; Fenster',
- 2: 'Licht2, Zickenzone; Ghetto',
- 3: 'Licht3, Sofaecke; Ghetto',
- 4: 'Licht4, Richtung Getränkelager',
- 5: 'Licht5, Porschekonsole',
- 6: 'Licht6, Tomatenecke',
- 7: 'Licht7, Ghetto',
- 10: 'Hauptschalter'
- },
- 'state': {
- 0: 'aus',
- 1: 'an',
- 2: 'aus in T-10s'
- },
- '->': 'ist'
- }
-}
-
-import socket
-from string import join
-from struct import unpack
-
-# create udp socket
-mysocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-
-# allow send/recieve from broacast address
-mysocket.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,1)
-
-# allow the socket to be re-used
-mysocket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
-mysocket.bind((host, port))
-
-map = map[location]
-
-while True:
- did, sid = unpack('BB', mysocket.recv(2))
- device, state = map['device'][did], map['state'][sid]
- arrow = map['->']
- print join([device, arrow, state], ' ')
diff --git a/god/Reaktor/index b/god/Reaktor/index
new file mode 100755
index 00000000..6470298e
--- /dev/null
+++ b/god/Reaktor/index
@@ -0,0 +1,36 @@
+#! /bin/sh
+#
+# //god/Reaktor - listen to UDP events and forward them to IRC
+#
+# export host passwd printto to configure jsb-udp
+#
+set -euf
+cd $(readlink -f $(dirname $0))
+
+listener=$(readlink -f lib/listener.py)
+
+jsb_version=0.7.1.2
+distdir=jsb-$jsb_version.tar.gz
+
+host=${host-91.206.142.247}
+passwd=${passwd-h4x0r}
+printto=${printto-#shackspace}
+
+if ! test -x tmp/jsb-$jsb_version; then
+ mkdir -p tmp
+ cd tmp
+ curl -f http://jsonbot.googlecode.com/files/jsb-$jsb_version.tar.gz | tar zx
+ cd jsb-$jsb_version
+ bin/jsb-udp -s ': 'ist'
+ }
+}
+
+import socket
+from string import join
+from struct import unpack
+
+# create udp socket
+mysocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
+
+# allow send/recieve from broacast address
+mysocket.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,1)
+
+# allow the socket to be re-used
+mysocket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
+mysocket.bind((host, port))
+
+map = map[location]
+
+while True:
+ did, sid = unpack('BB', mysocket.recv(2))
+ device, state = map['device'][did], map['state'][sid]
+ arrow = map['->']
+ print join([device, arrow, state], ' ')
--
cgit v1.2.3
From 890a15d1c85b0039b17f711cbff82d79ce2e823d Mon Sep 17 00:00:00 2001
From: tv
Date: Thu, 1 Sep 2011 10:51:54 +0200
Subject: //node/tools: initial commit
This was missing in the previous commit...-_-
---
node/tools/latest-version | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
create mode 100755 node/tools/latest-version
diff --git a/node/tools/latest-version b/node/tools/latest-version
new file mode 100755
index 00000000..b99276d5
--- /dev/null
+++ b/node/tools/latest-version
@@ -0,0 +1,19 @@
+#! /bin/sh
+#
+# //node/tools/latest-version - retrieve the latest node version from the IN
+#
+set -euf
+
+# cd //node
+cd $(readlink -f $(dirname $0)/..)
+
+# PATH prepend //util/bin
+export PATH="$PWD/../util/bin${PATH+:$PATH}"
+
+# TODO punani install executable: curl
+
+curl -fsS http://nodejs.org/ |
+ hrefs |
+ sed -n 's:.*node-v\([0-9.]\+\)\.tar\.gz:\1:p' |
+ sort |
+ tail -n 1
--
cgit v1.2.3
From e28303fa10c603fe61991b27e1202c5d97134dd4 Mon Sep 17 00:00:00 2001
From: tv
Date: Thu, 1 Sep 2011 10:54:15 +0200
Subject: //god/Reaktor: add TODO
---
god/Reaktor/index | 1 +
1 file changed, 1 insertion(+)
diff --git a/god/Reaktor/index b/god/Reaktor/index
index 6470298e..a2e6fe61 100755
--- a/god/Reaktor/index
+++ b/god/Reaktor/index
@@ -33,4 +33,5 @@ sed -i '
s/^printto *=.*/printto="'$printto'"/
' config/udp-send
+# TODO output modules: stderr, jsb-udp, remount-ro, ...
PYTHONUNBUFFERED=y $listener | tee /dev/stderr | bin/jsb-udp
--
cgit v1.2.3
From effb297f1d935bb1f7d9ef59c372b6a1c4bd70c6 Mon Sep 17 00:00:00 2001
From: EUcancER
Date: Thu, 1 Sep 2011 11:00:15 +0200
Subject: adv_graphgen: fix sanitize and parse
sanitze.sh now creates dot file in temp directory
parse now correctly creates group attribute
---
retiolum/scripts/adv_graphgen/parse.py | 3 ++-
retiolum/scripts/adv_graphgen/sanitize.sh | 13 +++++++------
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/retiolum/scripts/adv_graphgen/parse.py b/retiolum/scripts/adv_graphgen/parse.py
index 4b9314cc..0bcf42a0 100755
--- a/retiolum/scripts/adv_graphgen/parse.py
+++ b/retiolum/scripts/adv_graphgen/parse.py
@@ -47,6 +47,7 @@ def write_node(k,v):
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"
@@ -57,7 +58,7 @@ def write_node(k,v):
node +="\""
if v['external-ip'] == "MYSELF":
node += ",fillcolor=steelblue1"
- node +=",group="+v['external-ip'].replace(".","")+""
+ node +=",group=\""+v['external-ip'].replace(".","")+"\""
node += "]"
print node
diff --git a/retiolum/scripts/adv_graphgen/sanitize.sh b/retiolum/scripts/adv_graphgen/sanitize.sh
index df6216fa..1dc43bf4 100755
--- a/retiolum/scripts/adv_graphgen/sanitize.sh
+++ b/retiolum/scripts/adv_graphgen/sanitize.sh
@@ -1,5 +1,6 @@
#!/bin/sh
HERE=$(dirname `readlink -f $0`)
+TMP=/tmp
GRAPH_SETTER1=dot
GRAPH_SETTER2=circo
GRAPH_SETTER3='neato -Goverlap=prism '
@@ -9,11 +10,11 @@ OPENER=/bin/true
sudo pkill -USR2 tincd
sudo sed -n '/tinc.retiolum/{s/.*tinc.retiolum\[[0-9]*\]: //gp}' $LOG_FILE |\
- $HERE/parse.py > $HERE/retiolum.dot
+ $HERE/parse.py > $TMP/retiolum.dot
-$GRAPH_SETTER1 -Tpng -o $1/retiolum_1.png $HERE/retiolum.dot
-$GRAPH_SETTER2 -Tpng -o $1/retiolum_2.png $HERE/retiolum.dot
-$GRAPH_SETTER3 -Tpng -o $1/retiolum_3.png $HERE/retiolum.dot
-$GRAPH_SETTER4 -Tpng -o $1/retiolum_4.png $HERE/retiolum.dot
+$GRAPH_SETTER1 -Tpng -o $1/retiolum_1.png $TMP/retiolum.dot
+$GRAPH_SETTER2 -Tpng -o $1/retiolum_2.png $TMP/retiolum.dot
+$GRAPH_SETTER3 -Tpng -o $1/retiolum_3.png $TMP/retiolum.dot
+$GRAPH_SETTER4 -Tpng -o $1/retiolum_4.png $TMP/retiolum.dot
$OPENER $HERE/retiolum_1.png &>/dev/null
-rm $HERE/retiolum.dot
+rm $TMP/retiolum.dot
--
cgit v1.2.3
From abf8674a3fc02f172768be911c6e719290bf6bd5 Mon Sep 17 00:00:00 2001
From: root
Date: Thu, 1 Sep 2011 11:09:47 +0200
Subject: //krebsbeam RIP: YAMOS! It was so hard borked
Add submodules to //submodules, do never ever import legacy code
directly or you'll get punched hard...^_^
---
.gitmodules | 3 ---
krebsbeam/c-beam | 1 -
2 files changed, 4 deletions(-)
delete mode 160000 krebsbeam/c-beam
diff --git a/.gitmodules b/.gitmodules
index cbc61522..3677b710 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -13,9 +13,6 @@
[submodule "submodules/github/tautologistics/node-htmlparser"]
path = submodules/github/tautologistics/node-htmlparser
url = https://github.com/tautologistics/node-htmlparser
-[submodule "krebsbeam/c-beam"]
- path = krebsbeam/c-beam
- url = git://dev.c-base.org/c-beam/c-beam.git
[submodule "submodules/github/makefu/dpfhack_display"]
path = submodules/github/makefu/dpfhack_display
url = https://github.com/makefu/dpfhack_pearl
diff --git a/krebsbeam/c-beam b/krebsbeam/c-beam
deleted file mode 160000
index 0072bf8f..00000000
--- a/krebsbeam/c-beam
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 0072bf8f0cd3a6d0fe022c15c8957373cebef293
--
cgit v1.2.3
From d5320bc34aece7e2fe9246f394be829ce954d4fd Mon Sep 17 00:00:00 2001
From: Momo
Date: Thu, 1 Sep 2011 12:19:50 +0200
Subject: ignoring the monitoring server
---
filebitch/connect_narf.pl | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/filebitch/connect_narf.pl b/filebitch/connect_narf.pl
index 8e984150..7c713d3b 100755
--- a/filebitch/connect_narf.pl
+++ b/filebitch/connect_narf.pl
@@ -10,9 +10,10 @@
$ip = $ARGV[0];
#I'm very sorry for this regex, but i only wanted it to get _real_ IPv4 Adresses of the log file, not any kind of timestamp bullshit
$ip =~ s/\b(25[0-5]|2[0-4][0-9]|[1]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[1]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[1]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[1]?[0-9][0-9]?)\b//g;
+if($ip ne "10.42.0.107"){
#getting some guys sitting next to the Server pissed :)
-system("morse -l 42 -f 2000 $ip");
-system("morse -l 42 -f 3000 \"connected\"");
-
+ system("morse -l 42 -f 2000 $ip");
+ system("morse -l 42 -f 3000 \"connected\"");
+}
# Uncomment the beep below to play the enterprise connect sound
# system("beep -l 42 -f 2000 -D 42 -n -l 42 -f 3337");
--
cgit v1.2.3
From 63df68949c64bf652c287bda51f7175c64776ad9 Mon Sep 17 00:00:00 2001
From: Momo
Date: Thu, 1 Sep 2011 12:21:11 +0200
Subject: Adding TODO
---
filebitch/TODO | 2 ++
1 file changed, 2 insertions(+)
create mode 100644 filebitch/TODO
diff --git a/filebitch/TODO b/filebitch/TODO
new file mode 100644
index 00000000..aa2af36a
--- /dev/null
+++ b/filebitch/TODO
@@ -0,0 +1,2 @@
+Buid a blacklist so some IPs(e.g. monitoring servers) don't trigger a beep
+
--
cgit v1.2.3
[cgit] Unable to lock slot /tmp/cgit/d3300000.lock: Permission denied (13)