diff options
Diffstat (limited to 'god')
-rw-r--r-- | god/icecrab/Makefile | 6 | ||||
-rw-r--r-- | god/icecrab/icecast.xml | 174 | ||||
-rw-r--r-- | god/icecrab/icecast2.conf | 19 | ||||
-rw-r--r-- | god/kachelmann/.gitignore | 2 | ||||
-rw-r--r-- | god/kachelmann/Makefile | 7 | ||||
-rwxr-xr-x | god/kachelmann/wetter | 6 | ||||
-rwxr-xr-x | god/meinsack/index | 85 |
7 files changed, 299 insertions, 0 deletions
diff --git a/god/icecrab/Makefile b/god/icecrab/Makefile new file mode 100644 index 00000000..36e91b76 --- /dev/null +++ b/god/icecrab/Makefile @@ -0,0 +1,6 @@ +.phony: debian + +debian: + [ -e /usr/bin/icecast2 ] || apt-get install --yes icecast2 + cp icecast2 /etc/default/icecast2 + cp icecast.xml /etc/icecast2/icecast.xml diff --git a/god/icecrab/icecast.xml b/god/icecrab/icecast.xml new file mode 100644 index 00000000..7776dc36 --- /dev/null +++ b/god/icecrab/icecast.xml @@ -0,0 +1,174 @@ +<icecast> + <limits> + <clients>100</clients> + <sources>2</sources> + <threadpool>5</threadpool> + <queue-size>524288</queue-size> + <client-timeout>30</client-timeout> + <header-timeout>15</header-timeout> + <source-timeout>10</source-timeout> + <!-- If enabled, this will provide a burst of data when a client + first connects, thereby significantly reducing the startup + time for listeners that do substantial buffering. However, + it also significantly increases latency between the source + client and listening client. For low-latency setups, you + might want to disable this. --> + <burst-on-connect>1</burst-on-connect> + <!-- same as burst-on-connect, but this allows for being more + specific on how much to burst. Most people won't need to + change from the default 64k. Applies to all mountpoints --> + <burst-size>65535</burst-size> + </limits> + + <authentication> + <!-- Sources log in with username 'source' --> + <source-password>shackit</source-password> + <!-- Relays log in username 'relay' --> + <relay-password>shackit</relay-password> + + <!-- Admin logs in with the username given below --> + <admin-user>admin</admin-user> + <admin-password>aidsballs</admin-password> + </authentication> + + <!-- set the mountpoint for a shoutcast source to use, the default if not + specified is /stream but you can change it here if an alternative is + wanted or an extension is required + <shoutcast-mount>/live.nsv</shoutcast-mount> + --> + + <!-- Uncomment this if you want directory listings --> + <!-- + <directory> + <yp-url-timeout>15</yp-url-timeout> + <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url> + </directory> + --> + + <!-- This is the hostname other people will use to connect to your server. + It affects mainly the urls generated by Icecast for playlists and yp + listings. --> + <hostname>krebs.shack</hostname> + + <!-- You may have multiple <listener> elements --> + <listen-socket> + <port>8000</port> + <!-- <bind-address>127.0.0.1</bind-address> --> + <!-- <shoutcast-mount>/stream</shoutcast-mount> --> + </listen-socket> + <!-- + <listen-socket> + <port>8001</port> + </listen-socket> + --> + + <!--<master-server>127.0.0.1</master-server>--> + <!--<master-server-port>8001</master-server-port>--> + <!--<master-update-interval>120</master-update-interval>--> + <!--<master-password>hackme</master-password>--> + + <!-- setting this makes all relays on-demand unless overridden, this is + useful for master relays which do not have <relay> definitions here. + The default is 0 --> + <!--<relays-on-demand>1</relays-on-demand>--> + + <!-- + <relay> + <server>127.0.0.1</server> + <port>8001</port> + <mount>/example.ogg</mount> + <local-mount>/different.ogg</local-mount> + <on-demand>0</on-demand> + + <relay-shoutcast-metadata>0</relay-shoutcast-metadata> + </relay> + --> + + <!-- Only define a <mount> section if you want to use advanced options, + like alternative usernames or passwords + <mount> + <mount-name>/example-complex.ogg</mount-name> + + <username>othersource</username> + <password>hackmemore</password> + + <max-listeners>1</max-listeners> + <dump-file>/tmp/dump-example1.ogg</dump-file> + <burst-size>65536</burst-size> + <fallback-mount>/example2.ogg</fallback-mount> + <fallback-override>1</fallback-override> + <fallback-when-full>1</fallback-when-full> + <intro>/example_intro.ogg</intro> + <hidden>1</hidden> + <no-yp>1</no-yp> + <authentication type="htpasswd"> + <option name="filename" value="myauth"/> + <option name="allow_duplicate_users" value="0"/> + </authentication> + <on-connect>/home/icecast/bin/stream-start</on-connect> + <on-disconnect>/home/icecast/bin/stream-stop</on-disconnect> + </mount> + + <mount> + <mount-name>/auth_example.ogg</mount-name> + <authentication type="url"> + <option name="mount_add" value="http://myauthserver.net/notify_mount.php"/> + <option name="mount_remove" value="http://myauthserver.net/notify_mount.php"/> + <option name="listener_add" value="http://myauthserver.net/notify_listener.php"/> + <option name="listener_remove" value="http://myauthserver.net/notify_listener.php"/> + </authentication> + </mount> + + --> + + <fileserve>1</fileserve> + + <paths> + <!-- basedir is only used if chroot is enabled --> + <basedir>/usr/share/icecast2</basedir> + + <!-- Note that if <chroot> is turned on below, these paths must both + be relative to the new root, not the original root --> + <logdir>/var/log/icecast2</logdir> + <webroot>/usr/share/icecast2/web</webroot> + <adminroot>/usr/share/icecast2/admin</adminroot> + <!-- <pidfile>/usr/share/icecast2/icecast.pid</pidfile> --> + + <!-- Aliases: treat requests for 'source' path as being for 'dest' path + May be made specific to a port or bound address using the "port" + and "bind-address" attributes. + --> + <!-- + <alias source="/foo" dest="/bar"/> + --> + <!-- Aliases: can also be used for simple redirections as well, + this example will redirect all requests for http://server:port/ to + the status page + --> + <alias source="/" dest="/status.xsl"/> + </paths> + + <logging> + <accesslog>access.log</accesslog> + <errorlog>error.log</errorlog> + <!-- <playlistlog>playlist.log</playlistlog> --> + <loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error --> + <logsize>10000</logsize> <!-- Max size of a logfile --> + <!-- If logarchive is enabled (1), then when logsize is reached + the logfile will be moved to [error|access|playlist].log.DATESTAMP, + otherwise it will be moved to [error|access|playlist].log.old. + Default is non-archive mode (i.e. overwrite) + --> + <!-- <logarchive>1</logarchive> --> + </logging> + + <security> + <chroot>0</chroot> + <!-- + <changeowner> + <user>nobody</user> + <group>nogroup</group> + </changeowner> + --> + </security> +</icecast> diff --git a/god/icecrab/icecast2.conf b/god/icecrab/icecast2.conf new file mode 100644 index 00000000..3a2521ff --- /dev/null +++ b/god/icecrab/icecast2.conf @@ -0,0 +1,19 @@ +# Defaults for icecast2 initscript +# sourced by /etc/init.d/icecast2 +# installed at /etc/default/icecast2 by the maintainer scripts + +# +# This is a POSIX shell fragment +# + +# Full path to the server configuration file +CONFIGFILE="/etc/icecast2/icecast.xml" + +# Name or ID of the user and group the daemon should run under +USERID=icecast2 +GROUPID=icecast + +# Edit /etc/icecast2/icecast.xml and change at least the passwords. +# Change this to true when done to enable the init.d script +ENABLE=true + diff --git a/god/kachelmann/.gitignore b/god/kachelmann/.gitignore new file mode 100644 index 00000000..050dfb2e --- /dev/null +++ b/god/kachelmann/.gitignore @@ -0,0 +1,2 @@ +conditions.pl +.*.swp diff --git a/god/kachelmann/Makefile b/god/kachelmann/Makefile new file mode 100644 index 00000000..3343d941 --- /dev/null +++ b/god/kachelmann/Makefile @@ -0,0 +1,7 @@ +.PHONY: infect +install: + # punani -Ei w3m php php-xml-simple + ln -s $$PWD/conditions ../bin/conditions + ln -s $$PWD/wetter ../bin/wetter + ln -s ${INSTALL_DIR}conditions ${INSTALL_DIR}kachelmann + diff --git a/god/kachelmann/wetter b/god/kachelmann/wetter new file mode 100755 index 00000000..957e13e2 --- /dev/null +++ b/god/kachelmann/wetter @@ -0,0 +1,6 @@ +#!/usr/bin/perl +use XML::Simple; +my $result = `w3m -dump "http://www.google.com/ig/api?weather=70327-stuttgart&hl=de"`; +my $xml = new XML::Simple; +my $data = $xml->XMLin($result); +print ("$data->{weather}->{current_conditions}->{condition}->{data} bei $data->{weather}->{current_conditions}->{temp_c}->{data} Grad Zelsius\n"); diff --git a/god/meinsack/index b/god/meinsack/index new file mode 100755 index 00000000..7046d78c --- /dev/null +++ b/god/meinsack/index @@ -0,0 +1,85 @@ +#! /bin/sh +# +# //meinsack +# +# export plz +# export str +# export anr +# export ort +# +set -euf +cd $(dirname $(readlink -f $0))/.. # cd // + +plz=${plz+"&plz=$plz"} +str=${str+"&str=$str"} +anr=${anr+"&anr=$anr"} + +url="http://www.sita-deutschland.de/sita/ywbase_Abfallkalender_Stuttgart.nsf/frmSelect?ReadForm$plz$str$anr" + +# echo $url + +html="$(curl -fsS "$url" | iconv -f latin1 -t utf8)" + +if echo "$html" | fgrep -q 'Ihre Eingabe war nicht eindeutig'; then + { + echo "Error: multiple locations found" + echo "$html" | + query/jquery/index 'table.tab:nth-child(2n) .bordertop > .text' | + sed ' + s/[[:space:]]\+/ /g + s/'"`printf '\xc2\xa0'`"'//g;# kill unicode non-breaking space + ' | + while read plz && + read str && + read ort && + read bes1 && + read bes2 && + read anr; do + str=$(echo "$str"|sed 's/<[^>]*>//g') + echo "export anr=$anr if you meant \"$ort\"" + done | sort | uniq + } >&2 + exit 2 +elif test $(echo "$html" | grep -c 'Abfallkalender für') -gt 1 && + test -z "${ort-}"; then + { + echo "Error: multiple locations found" + echo "$html" | + query/jquery/index '.tab span.text,.subheadline' | + sed -n ' + s/[[:space:]]\+/ /g + s/'"`printf '\xc2\xa0'`"'//g;# kill unicode non-breaking space + s/^Abfallkalender.*[^0-9]\([0-9]\+\)[^(]*(\(.*\))/export ort=\2/p + ' | sort | uniq + } >&2 + exit 3 +else + result="$(echo "$html" | + query/jquery/index '.tab span.text,.subheadline' | { + if test -n "${ort-}"; then + sed -n " + /($ort)/,/^Abfallkalender/{p;b} + /($ort)/,\${p;b} + " + else + cat + fi + } | { + grep -v Abfallkalender | + sed ' + s/'"`printf '\xc2\xa0'`"'//g;# kill unicode non-breaking space + s/^[A-Z][a-z]\.\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)$/\3-\2-\1/ + s/^[0-9].*/ "&T00:00:00.000Z"/ + $!s/$/,/ + 1s/^/[\n/ + $s/$/\n]/ + ' + })" + if ! echo "$result" | grep .; then + { + echo "Error: your query had no effect" + echo "url=\"$url\"" + } >&2 + exit 4 + fi +fi |